{
  "x402Version": 2,
  "id": 71673,
  "slug": "saylorinnovations-api-geography-midpoint",
  "resource": "https://saylorinnovations.com/api/geography/midpoint",
  "description": "Great-circle midpoint between two coordinates - latitude and longitude",
  "type": "http",
  "serviceName": "Saylor Innovations  Great-Circle",
  "mimeType": "application/json",
  "resourceType": "API",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0xA2A8dF0f7CaaBEa4e120a2568118f141569fc8aa",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "10000",
      "amountUsd": 0.01,
      "maxTimeoutSeconds": 120
    },
    {
      "scheme": "exact",
      "network": "eip155:137",
      "payTo": "0xA2A8dF0f7CaaBEa4e120a2568118f141569fc8aa",
      "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
      "amount": "10000",
      "amountUsd": 0.01,
      "maxTimeoutSeconds": 120
    },
    {
      "scheme": "exact",
      "network": "eip155:42161",
      "payTo": "0xA2A8dF0f7CaaBEa4e120a2568118f141569fc8aa",
      "asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
      "amount": "10000",
      "amountUsd": 0.01,
      "maxTimeoutSeconds": 120
    },
    {
      "scheme": "exact",
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "payTo": "7LSjfrJf8fNsB8VA9u7N3WEn25smQLpob3SvyUvXacy7",
      "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      "amount": "10000",
      "amountUsd": 0.01,
      "maxTimeoutSeconds": 120
    },
    {
      "scheme": "exact",
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "payTo": "7LSjfrJf8fNsB8VA9u7N3WEn25smQLpob3SvyUvXacy7",
      "asset": "Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",
      "amount": "10000",
      "amountUsd": 0.01,
      "maxTimeoutSeconds": 120
    },
    {
      "scheme": "exact",
      "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
      "payTo": "7LSjfrJf8fNsB8VA9u7N3WEn25smQLpob3SvyUvXacy7",
      "asset": "So11111111111111111111111111111111111111112",
      "amount": "95877",
      "amountUsd": 0.01,
      "maxTimeoutSeconds": 120
    }
  ],
  "outputSchema": {
    "type": "object",
    "properties": {
      "origin": {
        "type": "object",
        "description": "Origin of the data or item"
      },
      "destination": {
        "type": "object",
        "description": "Destination"
      },
      "midpoint": {
        "type": "object"
      },
      "formula": {
        "type": "string",
        "description": "Formula used for the calculation"
      },
      "scope_note": {
        "type": "string",
        "description": "What this data covers and what it leaves out"
      }
    },
    "required": [
      "origin",
      "destination",
      "midpoint",
      "scope_note"
    ]
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "type": "http",
          "method": "GET",
          "queryParams": {
            "lat1": "0",
            "lat2": "0",
            "lon1": "0",
            "lon2": "2"
          }
        },
        "output": {
          "type": "json",
          "example": {
            "origin": {
              "latitude": 0,
              "longitude": 0
            },
            "destination": {
              "latitude": 0,
              "longitude": 2
            },
            "midpoint": {
              "latitude": 0,
              "longitude": 1
            },
            "scope_note": "Spherical-earth midpoint estimate only; not navigation advice."
          }
        }
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "input": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "http"
              },
              "method": {
                "type": "string",
                "enum": [
                  "GET"
                ]
              },
              "queryParams": {
                "type": "object",
                "properties": {
                  "lat1": {
                    "type": "string",
                    "description": "required origin latitude -90 to 90 (query)"
                  },
                  "lat2": {
                    "type": "string",
                    "description": "required destination latitude -90 to 90 (query)"
                  },
                  "lon1": {
                    "type": "string",
                    "description": "required origin longitude -180 to 180 (query)"
                  },
                  "lon2": {
                    "type": "string",
                    "description": "required destination longitude -180 to 180 (query)"
                  }
                },
                "required": [
                  "lat1",
                  "lat2",
                  "lon1",
                  "lon2"
                ]
              }
            },
            "required": [
              "type",
              "method"
            ],
            "additionalProperties": false
          },
          "output": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "const": "json"
              },
              "example": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "object",
                    "description": "Origin of the data or item"
                  },
                  "destination": {
                    "type": "object",
                    "description": "Destination"
                  },
                  "midpoint": {
                    "type": "object"
                  },
                  "formula": {
                    "type": "string",
                    "description": "Formula used for the calculation"
                  },
                  "scope_note": {
                    "type": "string",
                    "description": "What this data covers and what it leaves out"
                  }
                },
                "required": [
                  "origin",
                  "destination",
                  "midpoint",
                  "scope_note"
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        },
        "required": [
          "input"
        ]
      }
    }
  },
  "tags": [
    "geography",
    "distance",
    "bearing",
    "midpoint",
    "coordinates"
  ],
  "sourceHost": "saylorinnovations.com",
  "lastUpdated": "2026-10-26T22:14:01.807Z",
  "quality": {},
  "metadata": {
    "serviceName": "Saylor Innovations  Great-Circle",
    "method": "GET",
    "mimeType": "application/json",
    "inputSchema": {
      "type": "object",
      "properties": {
        "lat1": {
          "type": "string",
          "description": "required origin latitude -90 to 90 (query)"
        },
        "lat2": {
          "type": "string",
          "description": "required destination latitude -90 to 90 (query)"
        },
        "lon1": {
          "type": "string",
          "description": "required origin longitude -180 to 180 (query)"
        },
        "lon2": {
          "type": "string",
          "description": "required destination longitude -180 to 180 (query)"
        }
      },
      "required": [
        "lat1",
        "lat2",
        "lon1",
        "lon2"
      ]
    },
    "exampleResponse": {
      "origin": {
        "latitude": 0,
        "longitude": 0
      },
      "destination": {
        "latitude": 0,
        "longitude": 2
      },
      "midpoint": {
        "latitude": 0,
        "longitude": 1
      },
      "scope_note": "Spherical-earth midpoint estimate only; not navigation advice."
    },
    "parameterLocation": "query",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "queryParams": {
              "lat1": "0",
              "lat2": "0",
              "lon1": "0",
              "lon2": "2"
            }
          },
          "output": {
            "type": "json",
            "example": {
              "origin": {
                "latitude": 0,
                "longitude": 0
              },
              "destination": {
                "latitude": 0,
                "longitude": 2
              },
              "midpoint": {
                "latitude": 0,
                "longitude": 1
              },
              "scope_note": "Spherical-earth midpoint estimate only; not navigation advice."
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "input": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "const": "http"
                },
                "method": {
                  "type": "string",
                  "enum": [
                    "GET"
                  ]
                },
                "queryParams": {
                  "type": "object",
                  "properties": {
                    "lat1": {
                      "type": "string",
                      "description": "required origin latitude -90 to 90 (query)"
                    },
                    "lat2": {
                      "type": "string",
                      "description": "required destination latitude -90 to 90 (query)"
                    },
                    "lon1": {
                      "type": "string",
                      "description": "required origin longitude -180 to 180 (query)"
                    },
                    "lon2": {
                      "type": "string",
                      "description": "required destination longitude -180 to 180 (query)"
                    }
                  },
                  "required": [
                    "lat1",
                    "lat2",
                    "lon1",
                    "lon2"
                  ]
                }
              },
              "required": [
                "type",
                "method"
              ],
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "const": "json"
                },
                "example": {
                  "type": "object",
                  "properties": {
                    "origin": {
                      "type": "object",
                      "description": "Origin of the data or item"
                    },
                    "destination": {
                      "type": "object",
                      "description": "Destination"
                    },
                    "midpoint": {
                      "type": "object"
                    },
                    "formula": {
                      "type": "string",
                      "description": "Formula used for the calculation"
                    },
                    "scope_note": {
                      "type": "string",
                      "description": "What this data covers and what it leaves out"
                    }
                  },
                  "required": [
                    "origin",
                    "destination",
                    "midpoint",
                    "scope_note"
                  ]
                }
              },
              "required": [
                "type"
              ]
            }
          },
          "required": [
            "input"
          ]
        }
      }
    },
    "examples": [
      {
        "label": "Unpaid discovery call",
        "method": "GET",
        "url": "https://saylorinnovations.com/api/geography/midpoint?lat1=0&lon1=0&lat2=0&lon2=2",
        "expectedStatus": 402
      }
    ],
    "cacheTtlSeconds": 0,
    "capabilities": [],
    "noAccountRequired": true,
    "noApiKeyRequired": true,
    "sideEffects": "Paid calls settle the advertised payment; see the provider contract for execution behavior.",
    "payment": {
      "protocol": "x402",
      "settlement": "direct-to-provider"
    },
    "provider": {
      "name": "Saylor Innovations",
      "host": "saylorinnovations.com",
      "manifestUrl": "https://saylorinnovations.com/.well-known/x402.json"
    }
  },
  "liveness": {
    "reliability": null
  },
  "verified": true,
  "featured": false,
  "provider": {
    "host": "saylorinnovations.com",
    "manifest_name": "Saylor Innovations Knowledge Base",
    "source": "submitted",
    "source_manifest_url": "https://saylorinnovations.com/.well-known/x402.json",
    "submitted_at": "2026-10-26T05:52:02.113Z"
  },
  "exampleResponse": {
    "origin": {},
    "destination": {},
    "midpoint": {},
    "formula": "string",
    "scope_note": "string"
  }
}