FETCH402
← Protocol index

Resource / 183

healthy

2s.

Convert a value between units of measure: mass (g, kg, mg, lb, oz, t, st), length (m, km, cm, mm, in, ft, yd, mi), volume (l, ml, m3, gal, gal-imp, qt, pt, cup, floz, tbsp, tsp), area (m2, km2, ft2, acre, ha), and temperature (C, F, K). Units are matched case-insensitively with common aliases (kg/kilogram/kgs). Returns {value, from, to, dimension, result}. Exact factors — the ground-truth answer a CPG/ETL pipeline needs instead of an LLM approximating conversions. Cross-dimension conversions (kg→m) return 400.

Eligibility
probeable
Failures
0
Last quote
2026-08-12 22:00:00 UTC
Last probe
2026-08-12 22:00:00 UTC
Payment requirements / accepts[] 2 options
State Network Scheme Atomic amount Asset payTo / untrusted
active eip155:8453 exact 2500 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 0x2b6D4988Db4723E6908Db86Ab2b8dFBc51FC32C5
active solana:5eykt4usfv8p8njdtrepy1vzqkqzkvdp exact 2500 EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v TW6ntaGzvj63ZgPjszd4FCGmVTGfzv1MAYZbjYcyWhn

All advertised payment options are stored. Base (`eip155:8453`) is the operational network for ranking and canaries; non-Base options remain visible for transparency.

Probe evidence 1 recent
healthy 2026-08-12 22:00:00 UTC GET · HTTP 402 · 38ms · accepts 2 · base 1 ok
Request
GET https://2s.io/api/convert/unit
Robots
allow
Note
http_402;accepts=2;base=1
Accepts fingerprint
6fcb2e53e8049ab29748ddd9a2e9ed532a49654f11ec569f4e7b9fb89b260a10

Accepts snapshot

[
  {
    "amount": "2500",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "assetTransferMethod": null,
    "extra": {
      "name": "USD Coin",
      "version": "2"
    },
    "maxTimeoutSeconds": 60,
    "network": "eip155:8453",
    "payTo": "0x2b6D4988Db4723E6908Db86Ab2b8dFBc51FC32C5",
    "paymentFlow": null,
    "raw": {
      "amount": "2500",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "maxTimeoutSeconds": 60,
      "max_timeout_seconds": 60,
      "network": "eip155:8453",
      "payTo": "0x2b6D4988Db4723E6908Db86Ab2b8dFBc51FC32C5",
      "pay_to": "0x2b6D4988Db4723E6908Db86Ab2b8dFBc51FC32C5",
      "scheme": "exact"
    },
    "scheme": "exact"
  },
  {
    "amount": "2500",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "assetTransferMethod": null,
    "extra": {
      "feePayer": "Hc3sdEAsCGQcpgfivywog9uwtk8gUBUZgsxdME1EJy88",
      "name": "USDC",
      "version": "1"
    },
    "maxTimeoutSeconds": 60,
    "network": "solana:5eykt4usfv8p8njdtrepy1vzqkqzkvdp",
    "payTo": "TW6ntaGzvj63ZgPjszd4FCGmVTGfzv1MAYZbjYcyWhn",
    "paymentFlow": null,
    "raw": {
      "amount": "2500",
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "extra": {
        "feePayer": "Hc3sdEAsCGQcpgfivywog9uwtk8gUBUZgsxdME1EJy88",
        "name": "USDC",
        "version": "1"
      },
      "maxTimeoutSeconds": 60,
      "max_timeout_seconds": 60,
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "payTo": "TW6ntaGzvj63ZgPjszd4FCGmVTGfzv1MAYZbjYcyWhn",
      "pay_to": "TW6ntaGzvj63ZgPjszd4FCGmVTGfzv1MAYZbjYcyWhn",
      "scheme": "exact"
    },
    "scheme": "exact"
  }
]

PaymentRequired raw

{
  "accepts": [
    {
      "amount": "2500",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "maxTimeoutSeconds": 60,
      "network": "eip155:8453",
      "payTo": "0x2b6D4988Db4723E6908Db86Ab2b8dFBc51FC32C5",
      "scheme": "exact"
    },
    {
      "amount": "2500",
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "extra": {
        "feePayer": "Hc3sdEAsCGQcpgfivywog9uwtk8gUBUZgsxdME1EJy88",
        "name": "USDC",
        "version": "1"
      },
      "maxTimeoutSeconds": 60,
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "payTo": "TW6ntaGzvj63ZgPjszd4FCGmVTGfzv1MAYZbjYcyWhn",
      "scheme": "exact"
    }
  ],
  "error": "PAYMENT-SIGNATURE required",
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "method": "GET",
          "queryParams": {
            "from": "kg",
            "to": "lb",
            "value": 5
          },
          "type": "http"
        }
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "input": {
            "properties": {
              "method": {
                "const": "GET"
              },
              "queryParams": {
                "properties": {
                  "from": {
                    "description": "Source unit (alias-tolerant).",
                    "type": "string"
                  },
                  "to": {
                    "description": "Target unit (same dimension).",
                    "type": "string"
                  },
                  "value": {
                    "description": "Numeric value to convert.",
                    "type": "number"
                  }
                },
                "required": [
                  "value",
                  "from",
                  "to"
                ]
              },
              "type": {
                "const": "http"
              }
            },
            "required": [
              "type",
              "method",
              "queryParams"
            ],
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    }
  },
  "resource": {
    "description": "Convert a value between units of measure: mass (g, kg, mg, lb, oz, t, st), length (m, km, cm, mm, in, ft, yd, mi), volume (l, ml, m3, gal, gal-imp, qt, pt, cup, floz, tbsp, tsp), area (m2, km2, ft2, acre, ha), and temperature (C, F, K). Units are matched case-insensitively with common aliases (kg/kilogram/kgs). Returns {value, from, to, dimension, result}. Exact factors — the ground-truth answer a CPG/ETL pipeline needs instead of an LLM approximating conversions. Cross-dimension conversions (kg→m) return 400.",
    "iconUrl": "https://2s.io/icon-512.png",
    "mimeType": "application/json",
    "serviceName": "2s",
    "tags": [
      "public-records",
      "identifiers",
      "ai-agents",
      "us-gov-data",
      "x402",
      "upto-billing",
      "ai-gateway",
      "agent-infrastructure"
    ],
    "url": "https://2s.io/api/convert/unit"
  },
  "x402Version": 2
}

Response headers

{
  "access-control-allow-headers": "Authorization, Content-Type",
  "access-control-allow-methods": "GET, POST, OPTIONS",
  "access-control-allow-origin": "*",
  "access-control-max-age": "86400",
  "age": "0",
  "cache-control": "public, max-age=0, must-revalidate",
  "content-security-policy": "default-src 'none'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; frame-ancestors 'none'; base-uri 'none'",
  "content-type": "application/json",
  "date": "Wed, 12 Aug 2026 22:00:00 GMT",
  "payment-required": "eyJ4NDAyVmVyc2lvbiI6MiwiYWNjZXB0cyI6W3sic2NoZW1lIjoiZXhhY3QiLCJuZXR3b3JrIjoiZWlwMTU1Ojg0NTMiLCJhbW91bnQiOiIyNTAwIiwiYXNzZXQiOiIweDgzMzU4OWZDRDZlRGI2RTA4ZjRjN0MzMkQ0ZjcxYjU0YmRBMDI5MTMiLCJwYXlUbyI6IjB4MmI2RDQ5ODhEYjQ3MjNFNjkwOERiODZBYjJiOGRGQmM1MUZDMzJDNSIsIm1heFRpbWVvdXRTZWNvbmRzIjo2MCwiZXh0cmEiOnsibmFtZSI6IlVTRCBDb2luIiwidmVyc2lvbiI6IjIifX0seyJzY2hlbWUiOiJleGFjdCIsIm5ldHdvcmsiOiJzb2xhbmE6NWV5a3Q0VXNGdjhQOE5KZFRSRXBZMXZ6cUtxWkt2ZHAiLCJhbW91bnQiOiIyNTAwIiwiYXNzZXQiOiJFUGpGV2RkNUF1ZnFTU3FlTTJxTjF4enliYXBDOEc0d0VHR2tad3lURHQxdiIsInBheVRvIjoiVFc2bnRhR3p2ajYzWmdQanN6ZDRGQ0dtVlRHZnp2MU1BWVpialljeVdobiIsIm1heFRpbWVvdXRTZWNvbmRzIjo2MCwiZXh0cmEiOnsibmFtZSI6IlVTREMiLCJ2ZXJzaW9uIjoiMSIsImZlZVBheWVyIjoiSGMzc2RFQXNDR1FjcGdmaXZ5d29nOXV3dGs4Z1VCVVpnc3hkTUUxRUp5ODgifX1dLCJyZXNvdXJjZSI6eyJ1cmwiOiJodHRwczovLzJzLmlvL2FwaS9jb252ZXJ0L3VuaXQiLCJkZXNjcmlwdGlvbiI6IkNvbnZlcnQgYSB2YWx1ZSBiZXR3ZWVuIHVuaXRzIG9mIG1lYXN1cmU6IG1hc3MgKGcsIGtnLCBtZywgbGIsIG96LCB0LCBzdCksIGxlbmd0aCAobSwga20sIGNtLCBtbSwgaW4sIGZ0LCB5ZCwgbWkpLCB2b2x1bWUgKGwsIG1sLCBtMywgZ2FsLCBnYWwtaW1wLCBxdCwgcHQsIGN1cCwgZmxveiwgdGJzcCwgdHNwKSwgYXJlYSAobTIsIGttMiwgZnQyLCBhY3JlLCBoYSksIGFuZCB0ZW1wZXJhdHVyZSAoQywgRiwgSykuIFVuaXRzIGFyZSBtYXRjaGVkIGNhc2UtaW5zZW5zaXRpdmVseSB3aXRoIGNvbW1vbiBhbGlhc2VzIChrZy9raWxvZ3JhbS9rZ3MpLiBSZXR1cm5zIHt2YWx1ZSwgZnJvbSwgdG8sIGRpbWVuc2lvbiwgcmVzdWx0fS4gRXhhY3QgZmFjdG9ycyDigJQgdGhlIGdyb3VuZC10cnV0aCBhbnN3ZXIgYSBDUEcvRVRMIHBpcGVsaW5lIG5lZWRzIGluc3RlYWQgb2YgYW4gTExNIGFwcHJveGltYXRpbmcgY29udmVyc2lvbnMuIENyb3NzLWRpbWVuc2lvbiBjb252ZXJzaW9ucyAoa2fihpJtKSByZXR1cm4gNDAwLiIsIm1pbWVUeXBlIjoiYXBwbGljYXRpb24vanNvbiIsInNlcnZpY2VOYW1lIjoiMnMiLCJpY29uVXJsIjoiaHR0cHM6Ly8ycy5pby9pY29uLTUxMi5wbmciLCJ0YWdzIjpbInB1YmxpYy1yZWNvcmRzIiwiaWRlbnRpZmllcnMiLCJhaS1hZ2VudHMiLCJ1cy1nb3YtZGF0YSIsIng0MDIiLCJ1cHRvLWJpbGxpbmciLCJhaS1nYXRld2F5IiwiYWdlbnQtaW5mcmFzdHJ1Y3R1cmUiXX0sImVycm9yIjoiUEFZTUVOVC1TSUdOQVRVUkUgcmVxdWlyZWQiLCJleHRlbnNpb25zIjp7ImJhemFhciI6eyJpbmZvIjp7ImlucHV0Ijp7InR5cGUiOiJodHRwIiwibWV0aG9kIjoiR0VUIiwicXVlcnlQYXJhbXMiOnsidmFsdWUiOjUsImZyb20iOiJrZyIsInRvIjoibGIifX19LCJzY2hlbWEiOnsiJHNjaGVtYSI6Imh0dHBzOi8vanNvbi1zY2hlbWEub3JnL2RyYWZ0LzIwMjAtMTIvc2NoZW1hIiwidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsiaW5wdXQiOnsidHlwZSI6Im9iamVjdCIsInByb3BlcnRpZXMiOnsidHlwZSI6eyJjb25zdCI6Imh0dHAifSwibWV0aG9kIjp7ImNvbnN0IjoiR0VUIn0sInF1ZXJ5UGFyYW1zIjp7InByb3BlcnRpZXMiOnsidmFsdWUiOnsidHlwZSI6Im51bWJlciIsImRlc2NyaXB0aW9uIjoiTnVtZXJpYyB2YWx1ZSB0byBjb252ZXJ0LiJ9LCJmcm9tIjp7InR5cGUiOiJzdHJpbmciLCJkZXNjcmlwdGlvbiI6IlNvdXJjZSB1bml0IChhbGlhcy10b2xlcmFudCkuIn0sInRvIjp7InR5cGUiOiJzdHJpbmciLCJkZXNjcmlwdGlvbiI6IlRhcmdldCB1bml0IChzYW1lIGRpbWVuc2lvbikuIn19LCJyZXF1aXJlZCI6WyJ2YWx1ZSIsImZyb20iLCJ0byJdfX0sInJlcXVpcmVkIjpbInR5cGUiLCJtZXRob2QiLCJxdWVyeVBhcmFtcyJdfX0sInJlcXVpcmVkIjpbImlucHV0Il19fX19",
  "permissions-policy": "geolocation=(), camera=(), microphone=()",
  "referrer-policy": "no-referrer",
  "server": "Vercel",
  "strict-transport-security": "max-age=63072000; includeSubDomains; preload",
  "transfer-encoding": "chunked",
  "x-content-type-options": "nosniff",
  "x-frame-options": "DENY",
  "x-matched-path": "/api/convert/unit",
  "x-payment-requirements": "x402",
  "x-vercel-cache": "MISS",
  "x-vercel-id": "iad1::iad1::92kkx-1786572000598-b4a59606a81e"
}

Response body

{
  "accepts": [
    {
      "amount": "2500",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "extra": {
        "name": "USD Coin",
        "version": "2"
      },
      "maxTimeoutSeconds": 60,
      "network": "eip155:8453",
      "payTo": "0x2b6D4988Db4723E6908Db86Ab2b8dFBc51FC32C5",
      "scheme": "exact"
    },
    {
      "amount": "2500",
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "extra": {
        "feePayer": "Hc3sdEAsCGQcpgfivywog9uwtk8gUBUZgsxdME1EJy88",
        "name": "USDC",
        "version": "1"
      },
      "maxTimeoutSeconds": 60,
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "payTo": "TW6ntaGzvj63ZgPjszd4FCGmVTGfzv1MAYZbjYcyWhn",
      "scheme": "exact"
    }
  ],
  "error": "PAYMENT-SIGNATURE required",
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "method": "GET",
          "queryParams": {
            "from": "kg",
            "to": "lb",
            "value": 5
          },
          "type": "http"
        },
        "output": {
          "example": {
            "items": [
              {
                "dimension": "mass",
                "from": "kg",
                "reason": null,
                "result": 11.023113109243878,
                "to": "lb",
                "value": 5
              }
            ],
            "ok": true,
            "source": {
              "license": "No upstream license — computed by 2s.io",
              "provider": "2s.io unit converter",
              "url": "https://2s.io"
            },
            "total": 1
          },
          "schema": {
            "properties": {
              "items": {
                "items": {
                  "properties": {
                    "dimension": {
                      "type": "string"
                    },
                    "from": {
                      "type": "string"
                    },
                    "reason": {},
                    "result": {
                      "type": "number"
                    },
                    "to": {
                      "type": "string"
                    },
                    "value": {
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              },
              "ok": {
                "type": "boolean"
              },
              "source": {
                "properties": {
                  "license": {
                    "type": "string"
                  },
                  "provider": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "total": {
                "type": "integer"
              }
            },
            "type": "object"
          },
          "type": "json"
        }
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "input": {
            "properties": {
              "method": {
                "const": "GET"
              },
              "queryParams": {
                "properties": {
                  "from": {
                    "description": "Source unit (alias-tolerant).",
                    "type": "string"
                  },
                  "to": {
                    "description": "Target unit (same dimension).",
                    "type": "string"
                  },
                  "value": {
                    "description": "Numeric value to convert.",
                    "type": "number"
                  }
                },
                "required": [
                  "value",
                  "from",
                  "to"
                ]
              },
              "type": {
                "const": "http"
              }
            },
            "required": [
              "type",
              "method",
              "queryParams"
            ],
            "type": "object"
          },
          "output": {
            "properties": {
              "items": {
                "items": {
                  "properties": {
                    "dimension": {
                      "type": "string"
                    },
                    "from": {
                      "type": "string"
                    },
                    "reason": {},
                    "result": {
                      "type": "number"
                    },
                    "to": {
                      "type": "string"
                    },
                    "value": {
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              },
              "ok": {
                "type": "boolean"
              },
              "source": {
                "properties": {
                  "license": {
                    "type": "string"
                  },
                  "provider": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "total": {
                "type": "integer"
              }
            },
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    }
  },
  "resource": {
    "description": "Convert a value between units of measure: mass (g, kg, mg, lb, oz, t, st), length (m, km, cm, mm, in, ft, yd, mi), volume (l, ml, m3, gal, gal-imp, qt, pt, cup, floz, tbsp, tsp), area (m2, km2, ft2, acre, ha), and temperature (C, F, K). Units are matched case-insensitively with common aliases (kg/kilogram/kgs). Returns {value, from, to, dimension, result}. Exact factors — the ground-truth answer a CPG/ETL pipeline needs instead of an LLM approximating conversions. Cross-dimension conversions (kg→m) return 400.",
    "iconUrl": "https://2s.io/icon-512.png",
    "mimeType": "application/json",
    "serviceName": "2s",
    "tags": [
      "public-records",
      "identifiers",
      "ai-agents",
      "us-gov-data",
      "x402",
      "upto-billing",
      "ai-gateway",
      "agent-infrastructure"
    ],
    "url": "https://2s.io/api/convert/unit"
  },
  "x402Version": 2
}

Request headers

{
  "accept": "*/*",
  "user-agent": "Fetch402Bot/0.1 (+https://fetch402.com/crawler; contact: crawler@fetch402.com)"
}

Machine contract

Schemas.

InputJSON
{
  "method": "GET",
  "queryParams": {
    "from": "kg",
    "to": "lb",
    "value": 5
  },
  "type": "http"
}
OutputJSON
{}