# SolMachina Token Risk Decision API

> SolMachina Token Risk Decision API is a paid API for AI agents from api.solmachina.com, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-16).

Assesses a Solana SPL token's risk and returns an SMRI score, EXECUTE/REVIEW/REJECT decision, risk band, warnings, and a signed receipt — paid per call in USDC via x402.

## Facts

- Endpoint: GET https://api.solmachina.com/v1/decision
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-16
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/solmachina-token-risk-decision-api-9a3ef40c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_FJAnraSVXms-x9ewmjdct

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 solmachina-token-risk-decision-api-9a3ef40c
```

Example prompt: Before you swap any USDC into BONK (mint: DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263), check SolMachina first — I want an EXECUTE/REVIEW/REJECT decision and I need the SMRI score to be at least 60; deny it if the risk band is high or if mint authority is still set.

## When to prefer this

Use SolMachina when an AI agent needs a structured, auditable, policy-enforceable go/no-go decision before executing a Solana token action. It is especially valuable when you need composable firewall parameters (SMRI floor, freeze/mint authority checks, concentration limits) rather than raw on-chain data alone. Prefer it over generic token data APIs when you need a signed decision receipt, when operating in an autonomous agent pipeline where fail-closed safety is required, or when accountability and source citations matter. It is purpose-built for Solana agents and requires no API key — payment is per-call via x402 in USDC.

## Known failure modes

- Invalid or malformed Base58 mint address — endpoint returns an error or unknown token response
- Token not found on-chain — low confidence score returned, decision likely REVIEW
- Payment not received via x402 — request rejected before assessment
- minSmri or minConfidence thresholds misconfigured — policy.verdict may incorrectly DENY valid tokens
- Network or data-source unavailability — confidence score drops, sources cited as unknown

## How this service works

Before an AI agent executes on Solana, it asks SolMachina: risk + a decision (EXECUTE/REVIEW/REJECT) + an SMRI score + a signed receipt, paid per call over x402 in USDC. Trust-first — cites every source, says 'unknown' over guessing. No account, no API key.

## Output

Returns an SMRI integer score (0-100), a decision string (EXECUTE, REVIEW, or REJECT), a risk band, an SMRI band, a confidence integer, a human-readable reason, an array of warnings, component scores (contract and concentration each with score and weight), and optionally a policy verdict (ALLOW/DENY) if firewall parameters were supplied. A signed receipt is also returned for audit purposes.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "mint"
 ],
 "properties": {
  "mint": {
   "type": "string",
   "description": "Base58 SPL token mint to assess, e.g. DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263 (BONK)."
  },
  "action": {
   "type": "string",
   "description": "Single nonblank context string; default assess. Does not execute an action."
  },
  "policy": {
   "enum": [
    "conservative",
    "bluechip",
    "anti-rug",
    "degen"
   ],
   "type": "string",
   "description": "Named firewall preset: conservative | bluechip | anti-rug | degen — expands to a full ALLOW/DENY policy (the individual params above override preset values). The response echoes policyTemplate."
  },
  "minSmri": {
   "type": "number",
   "description": "Agent Financial Firewall — your policy: require SMRI >= this (0-100). Adds policy.verdict = ALLOW/DENY (fail-closed)."
  },
  "amountUsd": {
   "type": "string",
   "description": "Single finite non-negative decimal USD amount, context only; does not change the score. No exponent notation or repeated values."
  },
  "minConfidence": {
   "type": "number",
   "description": "Firewall: DENY if data confidence is below this (0-1)."
  },
  "denyHighRiskBand": {
   "type": "boolean",
   "description": "Firewall: DENY if the token-risk band is 'high'."
  },
  "denyMintAuthority": {
   "type": "boolean",
   "description": "Firewall: DENY if the mint authority is still set."
  },
  "denyFreezeAuthority": {
   "type": "boolean",
   "description": "Firewall: DENY if the freeze authority is still set."
  },
  "maxConcentrationPct": {
   "type": "number",
   "description": "Firewall: DENY if top-10 holder concentration exceeds this %."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "smri": {
   "type": [
    "integer",
    "null"
   ],
   "maximum": 100,
   "minimum": 0
  },
  "reason": {
   "type": "string"
  },
  "decision": {
   "enum": [
    "EXECUTE",
    "REVIEW",
    "REJECT"
   ],
   "type": "string"
  },
  "riskBand": {
   "type": "string"
  },
  "smriBand": {
   "enum": [
    "unknown",
    "low-risk",
    "medium-risk",
    "high-risk"
   ],
   "type": "string"
  },
  "warnings": {
   "type": "array",
   "items": {
    "type": "string"
   }
  },
  "components": {
   "type": "object",
   "properties": {
    "contract": {
     "type": "object",
     "properties": {
      "note": {
       "type": "string"
      },
      "score": {
       "type": "integer",
       "maximum": 100,
       "minimum": 0
      },
      "weight": {
       "type": "number",
       "maximum": 1,
       "minimum": 0
      }
     }
    },
    "concentration": {
     "type": "object",
     "properties": {
      "note": {
       "type": "string"
      },
      "score": {
       "anyOf": [
        {
         "type": "integer",
         "maximum": 100,
         "minimum": 0
        },
        {
         "const": "unknown"
        }
       ]
      },
      "weight": {
       "type": "number",
       "maximum": 1,
       "minimum": 0
      }
     }
    }
   }
  },
  "confidence": {
   "type": "number",
   "maximum": 1,
   "minimum": 0,
   "description": "Fraction of intended components with available data; not a probability of safety."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/solmachina-token-risk-decision-api-9a3ef40c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.solmachina.com](https://www.zero.xyz/host/api.solmachina.com/llms.txt)
