Tenjin's tool router
Tenjin's tool router. Send a turn's bounded conversation packet, or a one-line query, and get which pay-per-call x402 service fits the step, if any, with its spec to fill and pay yourself. $0.003 per answer from a completed routing gate; an answer made without one settles at $0. batch-settlement only. Agent guide: https://tenjin.sh/llms.txt
Not tested: has real-world effectsour last check, 2026-10-10
0 of 0checks answered this week
n/amedian answer time
$0.003listed 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
POST https://tenjin.sh/api/x402-router/route
| Category | Everything else |
|---|---|
| Provider host | tenjin.sh |
| Networks | eip155:8453 |
| Payment schemes | batch-settlement |
| Self-reported calls, 30 days | 5 from 4 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)
{
"body": {
"accepts": [
"discovered",
"spec"
],
"query": "current BTC and ETH prices in USD",
"schemaVersion": 1
},
"bodyType": "json",
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"accepts": {
"items": {
"maxLength": 32,
"minLength": 1,
"type": "string"
},
"maxItems": 8,
"type": "array"
},
"gateHint": {
"additionalProperties": false,
"properties": {
"category": {
"enum": [
"web research",
"read an exact page",
"crypto price quote",
"company profile by domain",
"company match by name or social URL",
"email verification",
"person enrichment",
"computation",
"library or API documentation",
"x post search",
"reddit post search"
],
"type": "string"
},
"lookupId": {
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"turnId": {
"maxLength": 64,
"minLength": 1,
"type": "string"
}
},
"required": [
"category",
"turnId",
"lookupId"
],
"type": "object"
},
"packet": {
"additionalProperties": false,
"properties": {
"current": {
"additionalProperties": false,
"properties": {
"role": {
"enum": [
"user",
"assistant"
],
"type": "string"
},
"text": {
"maxLength": 16000,
"minLength": 1,
"type": "string"
}
},
"required": [
"role",
"text"
],
"type": "object"
},
"history": {
"items": {
"additionalProperties": false,
"properties": {
"role": {
"enum": [
"user",
"assistant"
],
"type": "string"
},
"text": {
"maxLength": 16000,
"minLength": 1,
"type": "string"
}
},
"required": [
"role",
"text"
],
"type": "object"
},
"maxItems": 6,
"type": "array"
},
"historyStatus": {
"enum": [
"ok",
"unavailable"
],
"type": "string"
},
"literalUrls": {
"items": {
"maxLength": 2000,
"type": "string"
},
"maxItems": 8,
"type": "array"
},
"nativeOutcome": {
"additionalProperties": false,
"properties": {
"bytes": {
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"code": {
"maximum": 999,
"minimum": 0,
"type": "integer"
},
"error": {
"maxLength": 1000,
"minLength": 1,
"type": "string"
},
"reason": {
"enum": [
"no_main_content"
],
"type": "string"
}
},
"type": "object"
},
"pendingCall": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"query": {
"maxLength": 4000,
"minLength": 1,
"type": "string"
},
"tool": {
"const": "WebSearch",
"type": "string"
}
},
"required": [
"tool",
"query"
],