{"openapi":"3.1.0","info":{"title":"Physics Calculators","version":"1.0.0","description":"Exact physics formulas for agents: kinematics, projectiles, inclines, collisions, orbits, oscillators, waves, optics, relativity and blackbody radiation. One call, one computed answer, no accounts or API keys. Machine-payable over x402.","x-guidance":"Physics Calculators: Exact physics formulas for agents: kinematics, projectiles, inclines, collisions, orbits, oscillators, waves, optics, relativity and blackbody radiation. Use /kinematics to solve constant-acceleration motion from three knowns, /projectile for range, height and flight time, /incline for forces and friction on a slope, /work-energy for work, energy and power, /collision-1d for elastic and inelastic collisions, /orbit for orbital and escape velocity and period, /oscillator for pendulum and spring periods, /wave-doppler for wave speed and Doppler shift, /lens-mirror for the thin lens and mirror equation, /snell for refraction and critical angle, /relativity for time dilation, length contraction and energy, and /blackbody for Wien peak and Stefan-Boltzmann power. Each paid GET returns a computed verdict with the reasons, the source and what was NOT checked. A verdict of UNVERIFIED means a lookup failed: treat it as unknown. No account or key: pay per call in USDC over x402."},"servers":[{"url":"https://physics-calc.x402tookit.com"}],"paths":{"/blackbody":{"get":{"operationId":"blackbody","summary":"Blackbody radiation: Wien peak wavelength and frequency, Stefan-Boltzmann power per area, and total power for an area or sphere.","description":"Blackbody radiation: Wien peak wavelength and frequency, Stefan-Boltzmann power per area, and total power for an area or sphere.","tags":["physics","blackbody","thermal-radiation","temperature","calculator"],"parameters":[{"name":"temperatureK","in":"query","required":true,"description":"Surface temperature in kelvin, 1 to 1e9","schema":{"type":"number"}},{"name":"areaM2","in":"query","required":false,"description":"Radiating area in m2, for total power","schema":{"type":"number"}},{"name":"radiusM","in":"query","required":false,"description":"Or the radius of a sphere in metres (area = 4 pi r^2)","schema":{"type":"number"}},{"name":"emissivity","in":"query","required":false,"description":"Emissivity 0 to 1 (default 1, an ideal blackbody)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"temperatureK":{"type":["null","number"]},"wienPeakWavelengthM":{"type":["null","number"]},"wienPeakWavelengthNm":{"type":["null","number"]},"wienPeakFrequencyHz":{"type":["null","number"]},"peakBand":{"type":["null","string"]},"radiantExitanceWM2":{"type":["null","number"]},"emissivity":{"type":["null","number"]},"sigma":{"type":["null","number"]},"wienB":{"type":["null","number"]},"areaM2":{"type":["null","number"]},"totalPowerW":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"At 5772 K the emission peaks at 502.04 nm (green) and radiates 62938600 W per square metre. Over 6082100000000000000 m2 that is 3.82799e+26 W.","reasons":["Wien: lambda_max = 2.897771955e-3 m K / T. Stefan-Boltzmann: M = emissivity x sigma x T^4, sigma = 5.670374419e-8 W/m2/K4 (CODATA 2018).","The wavelength peak and the frequency peak are different points of the same curve."],"temperatureK":5772,"wienPeakWavelengthM":5.02039493e-7,"wienPeakWavelengthNm":502.03949,"wienPeakFrequencyHz":339331595000000,"peakBand":"green","radiantExitanceWM2":62938592.5,"emissivity":1,"sigma":5.670374419e-8,"wienB":0.002897771955,"areaM2":6082104400000000000,"totalPowerW":3.8279909e+26,"degraded":false,"notChecked":["the real emissivity, which varies with wavelength and surface (stars and planets are not perfect blackbodies)","absorbed or reflected incoming radiation: this is emission only, not a net heat balance","…1 more"],"source":"computed locally","asOf":"2026-10-11T08:56:11.700Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/blackbody"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/blackbody"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/blackbody"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/blackbody"}}]}}},"/collision-1d":{"get":{"operationId":"collision_1d","summary":"Head-on collision of two masses: velocities after impact, momentum and kinetic energy lost, elastic to perfectly inelastic.","description":"Head-on collision of two masses: velocities after impact, momentum and kinetic energy lost, elastic to perfectly inelastic.","tags":["physics","collision","momentum","calculator"],"parameters":[{"name":"m1","in":"query","required":true,"description":"Mass of body 1 in kg (body 1 starts to the left)","schema":{"type":"number"}},{"name":"v1","in":"query","required":true,"description":"Velocity of body 1 in m/s (positive = rightward)","schema":{"type":"number"}},{"name":"m2","in":"query","required":true,"description":"Mass of body 2 in kg","schema":{"type":"number"}},{"name":"v2","in":"query","required":true,"description":"Velocity of body 2 in m/s","schema":{"type":"number"}},{"name":"restitution","in":"query","required":false,"description":"Coefficient of restitution 0 to 1 (default 1, elastic; 0 sticks together)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"velocityAfter1":{"type":["null","number"]},"velocityAfter2":{"type":["null","number"]},"totalMomentumKgMS":{"type":["null","number"]},"kineticEnergyBeforeJ":{"type":["null","number"]},"kineticEnergyAfterJ":{"type":["null","number"]},"kineticEnergyLostJ":{"type":["null","number"]},"restitution":{"type":["null","number"]},"centreOfMassVelocity":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"ELASTIC","summary":"After impact body 1 moves at 1 m/s and body 2 at 4 m/s; 0 J of kinetic energy (0%) is lost.","reasons":["Momentum is conserved; v1' = (m1 v1 + m2 v2 + m2 e (v2 - v1)) / (m1 + m2) and v2' = (m1 v1 + m2 v2 + m1 e (v1 - v2)) / (m1 + m2)."],"velocityAfter1":1,"velocityAfter2":4,"totalMomentumKgMS":6,"kineticEnergyBeforeJ":9,"kineticEnergyAfterJ":9,"kineticEnergyLostJ":0,"restitution":1,"centreOfMassVelocity":2,"degraded":false,"notChecked":["rotation, spin and off-centre impacts (this is a head-on collision on a line)","relativistic speeds","…1 more"],"source":"computed locally","asOf":"2026-10-11T08:56:11.964Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/collision-1d"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/collision-1d"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/collision-1d"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/collision-1d"}}]}}},"/incline":{"get":{"operationId":"incline","summary":"Block on an incline: weight components, normal force, static friction limit, whether it slips, acceleration and slide time.","description":"Block on an incline: weight components, normal force, static friction limit, whether it slips, acceleration and slide time.","tags":["physics","incline","friction","forces","calculator"],"parameters":[{"name":"massKg","in":"query","required":true,"description":"Mass in kg, above 0","schema":{"type":"number"}},{"name":"angleDeg","in":"query","required":true,"description":"Slope angle in degrees, 0 to 89.9","schema":{"type":"number"}},{"name":"muStatic","in":"query","required":false,"description":"Static friction coefficient 0 to 5 (default 0.5)","schema":{"type":"number"}},{"name":"muKinetic","in":"query","required":false,"description":"Kinetic friction coefficient 0 to 5 (default: the static value, capped at it)","schema":{"type":"number"}},{"name":"lengthM","in":"query","required":false,"description":"Slope length in metres to get slide time and end speed","schema":{"type":"number"}},{"name":"gravity","in":"query","required":false,"description":"Gravity in m/s2 (default 9.80665)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"massKg":{"type":["null","number"]},"angleDeg":{"type":["null","number"]},"weightN":{"type":["null","number"]},"forceDownSlopeN":{"type":["null","number"]},"normalForceN":{"type":["null","number"]},"maxStaticFrictionN":{"type":["null","number"]},"kineticFrictionN":{"type":["null","number"]},"criticalAngleDeg":{"type":["null","number"]},"slides":{"type":["boolean","null"]},"accelerationMS2":{"type":["null","number"]},"slideTimeS":{"type":["null","number"]},"endSpeedMS":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"SLIDES","summary":"The block slides at 2.355 m/s2 (down-slope force 49.03 N beats the static limit 42.46 N). Down 5 m it takes 2.06 s and reaches 4.853 m/s.","reasons":["Down-slope force = m g sin(a); normal force = m g cos(a); slips when tan(a) exceeds the static coefficient; a = g (sin(a) - muK cos(a))."],"massKg":10,"angleDeg":30,"weightN":98.0665,"forceDownSlopeN":49.03325,"normalForceN":84.92808,"maxStaticFrictionN":42.46404,"kineticFrictionN":25.47842,"criticalAngleDeg":26.5651,"slides":true,"accelerationMS2":2.355483,"slideTimeS":2.06044,"endSpeedMS":4.853331,"degraded":false,"notChecked":["rolling objects (wheels and balls roll and have rotational inertia)","air drag and a changing friction coefficient with speed","…1 more"],"source":"computed locally","asOf":"2026-10-11T08:56:12.228Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/incline"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/incline"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/incline"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/incline"}}]}}},"/kinematics":{"get":{"operationId":"kinematics","summary":"Constant-acceleration motion: give any three of displacement, start speed, end speed, acceleration, time; get the other two.","description":"Constant-acceleration motion: give any three of displacement, start speed, end speed, acceleration, time; get the other two.","tags":["physics","kinematics","motion","calculator"],"parameters":[{"name":"s","in":"query","required":false,"description":"Displacement in metres","schema":{"type":"number"}},{"name":"u","in":"query","required":false,"description":"Initial velocity in m/s","schema":{"type":"number"}},{"name":"v","in":"query","required":false,"description":"Final velocity in m/s","schema":{"type":"number"}},{"name":"a","in":"query","required":false,"description":"Acceleration in m/s2","schema":{"type":"number"}},{"name":"t","in":"query","required":false,"description":"Time in seconds, 0 or more","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"given":{"type":["null","object"],"properties":{"u":{"type":["null","number"]},"v":{"type":["null","number"]},"a":{"type":["null","number"]}}},"solutions":{"type":["array","null"],"items":{"type":"object","properties":{"s":{"type":["null","number"]},"u":{"type":["null","number"]},"v":{"type":["null","number"]},"a":{"type":["null","number"]},"t":{"type":["null","number"]}}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"SOLVED","summary":"s = 40 m, u = 20 m/s, v = 0 m/s, a = -5 m/s2, t = 4 s.","reasons":["Uses v = u + at, s = ut + at^2/2, v^2 = u^2 + 2as and s = (u + v)t/2."],"given":{"u":20,"v":0,"a":-5},"solutions":[{"s":40,"u":20,"v":0,"a":-5,"t":4}],"degraded":false,"notChecked":["air resistance and any change of acceleration during the motion","relativistic speeds (use /relativity near the speed of light)","…1 more"],"source":"computed locally","asOf":"2026-10-11T08:56:12.490Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/kinematics"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/kinematics"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/kinematics"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/kinematics"}}]}}},"/lens-mirror":{"get":{"operationId":"lens_mirror","summary":"Thin lens or mirror equation: give two of focal length, object and image distance, get the third plus magnification.","description":"Thin lens or mirror equation: give two of focal length, object and image distance, get the third plus magnification.","tags":["physics","optics","lens","mirror","calculator"],"parameters":[{"name":"focalLength","in":"query","required":false,"description":"Focal length, positive for a converging lens or concave mirror, negative for diverging or convex","schema":{"type":"number"}},{"name":"objectDistance","in":"query","required":false,"description":"Object distance, positive in front of the lens or mirror (same length unit as the others)","schema":{"type":"number"}},{"name":"imageDistance","in":"query","required":false,"description":"Image distance, positive for a real image, negative for a virtual one","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"focalLength":{"type":["null","number"]},"objectDistance":{"type":["null","number"]},"imageDistance":{"type":["null","number"]},"magnification":{"type":["null","number"]},"imageType":{"type":["null","string"]},"orientation":{"type":["null","string"]},"size":{"type":["null","string"]},"powerDioptresIfMetres":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"REAL_IMAGE","summary":"Converging element, f = 10: object at 30 gives a real, inverted, reduced image at 15 (magnification -0.5).","reasons":["1/f = 1/do + 1/di; m = -di / do. Real images (di > 0) are inverted for a single lens or mirror; virtual images are upright.","A converging element makes a virtual enlarged image when the object is inside the focal length."],"focalLength":10,"objectDistance":30,"imageDistance":15,"magnification":-0.5,"imageType":"real","orientation":"inverted","size":"reduced","powerDioptresIfMetres":0.1,"degraded":false,"notChecked":["thick lenses, aberrations and the lens-maker's thickness (thin-lens and paraxial rays only)","which physical object has the stated focal length: a mirror's focal length is half its radius of curvature","…1 more"],"source":"computed locally","asOf":"2026-10-11T08:56:12.751Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/lens-mirror"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/lens-mirror"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/lens-mirror"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/lens-mirror"}}]}}},"/orbit":{"get":{"operationId":"orbit","summary":"Circular orbit speed, escape speed and period at an altitude or radius around the Sun, a planet, the Moon or a custom mass.","description":"Circular orbit speed, escape speed and period at an altitude or radius around the Sun, a planet, the Moon or a custom mass.","tags":["physics","orbit","escape-velocity","astronomy","calculator"],"parameters":[{"name":"body","in":"query","required":false,"description":"sun, mercury, venus, earth (default), moon, mars, jupiter, saturn, uranus or neptune","schema":{"type":"string"}},{"name":"altitudeKm","in":"query","required":false,"description":"Height above the body's mean radius in km (default 0 = surface)","schema":{"type":"number"}},{"name":"orbitRadiusKm","in":"query","required":false,"description":"Or the distance from the body's centre in km (instead of altitude)","schema":{"type":"number"}},{"name":"muKm3PerS2","in":"query","required":false,"description":"Custom standard gravitational parameter GM in km3/s2 (replaces body; needs orbitRadiusKm)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"body":{"type":["null","string"]},"muKm3PerS2":{"type":["null","number"]},"orbitRadiusKm":{"type":["null","number"]},"circularSpeedKmS":{"type":["null","number"]},"escapeSpeedKmS":{"type":["null","number"]},"periodSeconds":{"type":["null","number"]},"periodMinutes":{"type":["null","number"]},"periodHours":{"type":["null","number"]},"periodDays":{"type":["null","number"]},"speedInKmH":{"type":["null","number"]},"altitudeKm":{"type":["null","number"]},"bodyMeanRadiusKm":{"type":["null","number"]},"surfaceGravityMS2":{"type":["null","number"]},"gravityAtOrbitMS2":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"Around Earth at 6771.009 km from the centre: circular speed 7.6726 km/s, escape speed 10.851 km/s, period 92.4144 minutes (1.5402 h).","reasons":["v_circ = sqrt(GM/r); v_esc = sqrt(2GM/r) = sqrt(2) v_circ; T = 2 pi sqrt(r^3 / GM).","GM values are published standard gravitational parameters; radii are mean radii."],"body":"Earth","muKm3PerS2":398600.4418,"orbitRadiusKm":6771.0088,"circularSpeedKmS":7.6725937,"escapeSpeedKmS":10.850686,"periodSeconds":5544.8659,"periodMinutes":92.414432,"periodHours":1.5402405,"periodDays":0.064176689,"speedInKmH":27621.34,"altitudeKm":400,"bodyMeanRadiusKm":6371.0088,"surfaceGravityMS2":9.8202,"gravityAtOrbitMS2":8.6942,"degraded":false,"notChecked":["atmospheric drag: low orbits decay (below about 200 km an orbit lasts days to weeks)","the body's oblateness, other bodies' gravity and non-circular orbits (for an ellipse use the semi-major axis as the radius for the period only)","…1 more"],"source":"computed locally","asOf":"2026-10-11T08:56:13.011Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/orbit"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/orbit"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/orbit"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/orbit"}}]}}},"/oscillator":{"get":{"operationId":"oscillator","summary":"Period and frequency of a simple pendulum (exact for large swings) or a mass on a spring.","description":"Period and frequency of a simple pendulum (exact for large swings) or a mass on a spring.","tags":["physics","pendulum","spring","oscillation","calculator"],"parameters":[{"name":"type","in":"query","required":true,"description":"pendulum or spring","schema":{"type":"string"}},{"name":"lengthM","in":"query","required":false,"description":"Pendulum length in metres (pendulum)","schema":{"type":"number"}},{"name":"amplitudeDeg","in":"query","required":false,"description":"Pendulum swing amplitude 0 to 175 degrees (default 0 = small angle)","schema":{"type":"number"}},{"name":"massKg","in":"query","required":false,"description":"Mass in kg (spring)","schema":{"type":"number"}},{"name":"springConstantNPerM","in":"query","required":false,"description":"Spring constant in N/m (spring)","schema":{"type":"number"}},{"name":"gravity","in":"query","required":false,"description":"Gravity in m/s2 (default 9.80665)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"periodS":{"type":["null","number"]},"smallAnglePeriodS":{"type":["null","number"]},"frequencyHz":{"type":["null","number"]},"amplitudeDeg":{"type":["null","number"]},"periodIncreasePercent":{"type":["null","number"]},"gravity":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"A 1 m pendulum swinging 60 degrees has a period of 2.15324 s (0.464416 Hz); the small-angle formula gives 2.00641 s.","reasons":["Small angle: T0 = 2 pi sqrt(L / g). Large swings: T = T0 / AGM(1, cos(amplitude / 2)), the exact result (about 7.3% longer at 60 degrees)."],"periodS":2.1532424,"smallAnglePeriodS":2.0064093,"frequencyHz":0.46441591,"amplitudeDeg":60,"periodIncreasePercent":7.3182,"gravity":9.80665,"degraded":false,"notChecked":["damping: real oscillations lose amplitude and the period changes slightly","the mass of the spring and the shape of the pendulum bob (an ideal point mass on a massless string is assumed)","…1 more"],"source":"computed locally","asOf":"2026-10-11T08:56:13.276Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/oscillator"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/oscillator"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/oscillator"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/oscillator"}}]}}},"/projectile":{"get":{"operationId":"projectile","summary":"Projectile motion without drag: range, max height, flight time, impact speed and angle from launch speed, angle and height.","description":"Projectile motion without drag: range, max height, flight time, impact speed and angle from launch speed, angle and height.","tags":["physics","projectile","ballistics","calculator"],"parameters":[{"name":"speed","in":"query","required":true,"description":"Launch speed in m/s, 0 to 3000","schema":{"type":"number"}},{"name":"angleDeg","in":"query","required":true,"description":"Launch angle above horizontal in degrees, -90 to 90","schema":{"type":"number"}},{"name":"height","in":"query","required":false,"description":"Launch height above the landing level in metres (default 0)","schema":{"type":"number"}},{"name":"gravity","in":"query","required":false,"description":"Gravity in m/s2, 0.1 to 300 (default 9.80665 standard gravity)","schema":{"type":"number"}},{"name":"body","in":"query","required":false,"description":"Or a body for gravity: earth, moon, mars, venus, jupiter or sun (ignored if gravity is given)","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"speed":{"type":["null","number"]},"angleDeg":{"type":["null","number"]},"launchHeight":{"type":["null","number"]},"gravity":{"type":["null","number"]},"flightTimeS":{"type":["null","number"]},"rangeM":{"type":["null","number"]},"maxHeightM":{"type":["null","number"]},"timeToApexS":{"type":["null","number"]},"horizontalSpeed":{"type":["null","number"]},"initialVerticalSpeed":{"type":["null","number"]},"impactSpeed":{"type":["null","number"]},"impactAngleBelowHorizontalDeg":{"type":["null","number"]},"maxRangeAngleForGroundLaunchDeg":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"Launch 20 m/s at 30 degrees from 10 m with g = 9.80665: flight time 2.774 s, range 48.06 m, maximum height 15.1 m, hits at 24.42 m/s.","reasons":["t = (v sin(a) + sqrt(v^2 sin^2(a) + 2 g h)) / g; range = v cos(a) t; max height = h + v^2 sin^2(a) / 2g. Drag is ignored."],"speed":20,"angleDeg":30,"launchHeight":10,"gravity":9.80665,"flightTimeS":2.7744964,"rangeM":48.055688,"maxHeightM":15.098581,"timeToApexS":1.0197162,"horizontalSpeed":17.320508,"initialVerticalSpeed":10,"impactSpeed":24.415835,"impactAngleBelowHorizontalDeg":44.814165,"maxRangeAngleForGroundLaunchDeg":45,"degraded":false,"notChecked":["air drag, which shortens real ranges a lot for fast or light objects","wind, spin, Earth's rotation and curvature (only valid for ranges small against the planet's radius)","…1 more"],"source":"computed locally","asOf":"2026-10-11T08:56:13.534Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/projectile"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/projectile"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/projectile"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/projectile"}}]}}},"/relativity":{"get":{"operationId":"relativity","summary":"Special relativity: Lorentz factor, time dilation, length contraction, total and kinetic energy and momentum at a given speed.","description":"Special relativity: Lorentz factor, time dilation, length contraction, total and kinetic energy and momentum at a given speed.","tags":["physics","relativity","time-dilation","energy","calculator"],"parameters":[{"name":"beta","in":"query","required":false,"description":"Speed as a fraction of the speed of light, 0 to 0.999999999 (give this or speedMS)","schema":{"type":"number"}},{"name":"speedMS","in":"query","required":false,"description":"Speed in m/s (alternative to beta)","schema":{"type":"number"}},{"name":"properTimeS","in":"query","required":false,"description":"Time elapsed on the moving clock, seconds","schema":{"type":"number"}},{"name":"properLengthM","in":"query","required":false,"description":"Length of the object at rest, metres","schema":{"type":"number"}},{"name":"restMassKg","in":"query","required":false,"description":"Rest mass in kg, for energy and momentum","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"beta":{"type":["null","number"]},"speedMS":{"type":["null","number"]},"lorentzFactor":{"type":["null","number"]},"lengthContractionFactor":{"type":["null","number"]},"dilatedTimeS":{"type":["null","number"]},"timeDifferenceS":{"type":["null","number"]},"contractedLengthM":{"type":["null","number"]},"restEnergyJ":{"type":["null","number"]},"totalEnergyJ":{"type":["null","number"]},"kineticEnergyJ":{"type":["null","number"]},"relativisticKineticMinusClassical":{"type":["null","number"]},"momentumKgMS":{"type":["null","number"]},"totalEnergyMeV":{"type":["null","number"]},"restEnergyMeV":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"gamma = 1.666667; 10 s on the moving clock is 16.66667 s for a stationary observer; 100 m at rest measures 60 m along the motion; total energy 149792500000000000 J (kinetic 59917010000000000 J).","reasons":["gamma = 1 / sqrt(1 - beta^2); t = gamma t0; L = L0 / gamma; E = gamma m c^2; K = (gamma - 1) m c^2; p = gamma m v.","c = 299792458 m/s exactly (CODATA 2018)."],"beta":0.8,"speedMS":239833966.4,"lorentzFactor":1.666666667,"lengthContractionFactor":0.6,"dilatedTimeS":16.66666667,"timeDifferenceS":6.666666667,"contractedLengthM":60,"restEnergyJ":89875517870000000,"totalEnergyJ":149792529800000000,"kineticEnergyJ":59917011920000000,"relativisticKineticMinusClassical":31156846000000000,"momentumKgMS":399723277.3,"totalEnergyMeV":9.34931434e+29,"restEnergyMeV":5.609588604e+29,"degraded":false,"notChecked":["general relativity: gravity, acceleration and curved space-time are not included","acceleration phases (the twin-paradox turnaround): only constant-speed inertial motion","…1 more"],"source":"computed locally","asOf":"2026-10-11T08:56:13.797Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/relativity"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/relativity"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/relativity"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/relativity"}}]}}},"/snell":{"get":{"operationId":"snell","summary":"Snell's law: refracted angle between two media (names or indices), critical angle and total internal reflection check.","description":"Snell's law: refracted angle between two media (names or indices), critical angle and total internal reflection check.","tags":["physics","optics","refraction","snell","calculator"],"parameters":[{"name":"n1","in":"query","required":true,"description":"Index of the first medium: a number, or air, water, crown glass, diamond and more","schema":{"type":"string"}},{"name":"n2","in":"query","required":true,"description":"Index of the second medium","schema":{"type":"string"}},{"name":"incidentAngleDeg","in":"query","required":true,"description":"Angle of incidence from the normal, 0 to 90 degrees","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"n1":{"type":["null","number"]},"n2":{"type":["null","number"]},"medium1":{"type":["null","string"]},"medium2":{"type":["null","string"]},"incidentAngleDeg":{"type":["null","number"]},"criticalAngleDeg":{},"brewsterAngleDeg":{"type":["null","number"]},"speedRatioV2OverV1":{"type":["null","number"]},"refractedAngleDeg":{"type":["null","number"]},"deviationDeg":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"REFRACTS","summary":"Light going from n = 1.000293 to n = 1.333 at 45 degrees bends to 32.0472 degrees.","reasons":["Snell's law: n1 sin(theta1) = n2 sin(theta2).","Entering a denser medium bends the ray toward the normal."],"n1":1.000293,"n2":1.333,"medium1":"air","medium2":"water","incidentAngleDeg":45,"criticalAngleDeg":null,"brewsterAngleDeg":53.11517,"speedRatioV2OverV1":0.75040735,"refractedAngleDeg":32.04722871,"deviationDeg":12.952771,"degraded":false,"notChecked":["wavelength dependence (dispersion): the index of real glass and water varies with colour by about 1%","reflected light intensity (Fresnel equations) and polarisation","…1 more"],"source":"computed locally","asOf":"2026-10-11T08:56:14.063Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/snell"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/snell"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/snell"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/snell"}}]}}},"/wave-doppler":{"get":{"operationId":"wave_doppler","summary":"Wave speed, frequency and wavelength, plus the Doppler-shifted frequency for sound (moving source or observer) or light.","description":"Wave speed, frequency and wavelength, plus the Doppler-shifted frequency for sound (moving source or observer) or light.","tags":["physics","waves","doppler","sound","calculator"],"parameters":[{"name":"frequencyHz","in":"query","required":true,"description":"Source frequency in Hz","schema":{"type":"number"}},{"name":"wavelengthM","in":"query","required":false,"description":"Wavelength in metres, to get wave speed","schema":{"type":"number"}},{"name":"medium","in":"query","required":false,"description":"sound (default, in air) or light","schema":{"type":"string"}},{"name":"airTempC","in":"query","required":false,"description":"Air temperature in C for the speed of sound, -50 to 60 (default 20)","schema":{"type":"number"}},{"name":"sourceSpeedMS","in":"query","required":false,"description":"Source speed in m/s, positive toward the observer, negative away (sound)","schema":{"type":"number"}},{"name":"observerSpeedMS","in":"query","required":false,"description":"Observer speed in m/s, positive toward the source (sound)","schema":{"type":"number"}},{"name":"closingSpeedFractionOfC","in":"query","required":false,"description":"Light: closing speed as a fraction of c, -0.999 to 0.999 (positive = approaching)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"frequencyHz":{"type":["null","number"]},"speedOfSoundMS":{"type":["null","number"]},"airTempC":{"type":["null","number"]},"observedFrequencyHz":{"type":["null","number"]},"dopplerFactor":{"type":["null","number"]},"formula":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"At 20 C sound travels at 343.21 m/s; a 400 Hz source moving 30 m/s toward the observer (observer 0 m/s toward it) is heard at 438.312 Hz.","reasons":["Speed of sound in dry air: 331.3 sqrt(1 + T / 273.15) m/s.","Positive source speed means approaching the observer, which raises the pitch."],"frequencyHz":400,"speedOfSoundMS":343.2146,"airTempC":20,"observedFrequencyHz":438.31239,"dopplerFactor":1.095781,"formula":"f' = f (c + vo) / (c - vs)","degraded":false,"notChecked":["supersonic sources: a source at or above the speed of sound makes a shock wave and the formula does not apply","transverse (sideways) Doppler for sound; only motion along the line between source and observer is handled","…1 more"],"source":"computed locally","asOf":"2026-10-11T08:56:14.316Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/wave-doppler"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/wave-doppler"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/wave-doppler"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/wave-doppler"}}]}}},"/work-energy":{"get":{"operationId":"work_energy","summary":"Work (force x distance x cos angle), kinetic and potential energy, and power, with joule, kWh, calorie and horsepower units.","description":"Work (force x distance x cos angle), kinetic and potential energy, and power, with joule, kWh, calorie and horsepower units.","tags":["physics","work","energy","power","calculator"],"parameters":[{"name":"forceN","in":"query","required":false,"description":"Force in newtons (with distanceM for work)","schema":{"type":"number"}},{"name":"distanceM","in":"query","required":false,"description":"Distance in metres","schema":{"type":"number"}},{"name":"angleDeg","in":"query","required":false,"description":"Angle between force and motion, 0 to 180 (default 0)","schema":{"type":"number"}},{"name":"timeS","in":"query","required":false,"description":"Time in seconds, for power","schema":{"type":"number"}},{"name":"massKg","in":"query","required":false,"description":"Mass in kg (for kinetic with speedMS, potential with heightM)","schema":{"type":"number"}},{"name":"speedMS","in":"query","required":false,"description":"Speed in m/s","schema":{"type":"number"}},{"name":"heightM","in":"query","required":false,"description":"Height in metres","schema":{"type":"number"}},{"name":"gravity","in":"query","required":false,"description":"Gravity in m/s2 (default 9.80665)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"work":{"type":["null","object"],"properties":{"joules":{"type":["null","number"]},"kilowattHours":{"type":["null","number"]},"kilocalories":{"type":["null","number"]},"footPounds":{"type":["null","number"]}}},"power":{"type":["null","object"],"properties":{"watts":{"type":["null","number"]},"kilowatts":{"type":["null","number"]},"horsepower":{"type":["null","number"]}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"work 250 J; power 50 W.","reasons":["W = F d cos(angle); KE = m v^2 / 2; PE = m g h; P = W / t. 1 hp (mechanical) = 745.7 W; 1 kcal = 4184 J."],"work":{"joules":250,"kilowattHours":0.0000694444,"kilocalories":0.0597514,"footPounds":184.391},"power":{"watts":50,"kilowatts":0.05,"horsepower":0.0670511},"degraded":false,"notChecked":["relativistic speeds (kinetic energy 1/2 m v^2 fails near the speed of light; see /relativity)","friction and other losses unless you include them in the force","…1 more"],"source":"computed locally","asOf":"2026-10-11T08:56:14.581Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/work-energy"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/work-energy"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/work-energy"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://physics-calc.x402tookit.com/work-energy"}}]}}}}}