{
  "x402Version": 2,
  "id": 68130,
  "slug": "money-floating-point-rounding-errors",
  "resource": "https://saylorinnovations.com/api/kb/money-floating-point-rounding-errors",
  "description": "Correct money handling in code: why binary floating point fails, integer minor units vs decimal types, currency exponents, rounding modes and where to round, allocating splits without losing cents, tax and discount order, database column types and JSON transport.",
  "type": "http",
  "serviceName": "Saylor Agent Guides",
  "mimeType": "application/json",
  "iconUrl": "https://bazaar.saylorinnovations.com/assets/saylor-logo.jpg",
  "resourceType": "Guide",
  "accepts": [
    {
      "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": "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
    }
  ],
  "outputSchema": {
    "type": "object",
    "additionalProperties": true,
    "properties": {
      "success": {
        "type": "boolean"
      },
      "data": {
        "type": "object",
        "additionalProperties": true,
        "properties": {}
      },
      "source": {
        "type": "string"
      }
    },
    "examples": [
      {
        "success": true,
        "data": {},
        "source": "Saylor Innovations"
      }
    ]
  },
  "extensions": {
    "bazaar": {
      "info": {
        "input": {
          "type": "http",
          "method": "GET",
          "discoverable": true
        },
        "output": {
          "type": "json",
          "example": {
            "success": true,
            "data": {},
            "source": "Saylor Innovations"
          }
        }
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "required": [
          "input",
          "output"
        ],
        "properties": {
          "input": {
            "type": "object",
            "additionalProperties": false,
            "properties": {}
          },
          "output": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "success": {
                "type": "boolean"
              },
              "data": {
                "type": "object",
                "additionalProperties": true,
                "properties": {}
              },
              "source": {
                "type": "string"
              }
            },
            "examples": [
              {
                "success": true,
                "data": {},
                "source": "Saylor Innovations"
              }
            ]
          }
        }
      }
    }
  },
  "tags": [
    "business & operations",
    "intermediate",
    "money",
    "decimal",
    "rounding",
    "floating-point",
    "payments",
    "x402",
    "pay-per-request",
    "no-api-key",
    "agent-readable"
  ],
  "sourceHost": "saylorinnovations.com",
  "lastUpdated": "2026-10-21T04:25:47.428Z",
  "quality": {},
  "metadata": {
    "serviceName": "Saylor Agent Guides",
    "mimeType": "application/json",
    "iconUrl": "https://bazaar.saylorinnovations.com/assets/saylor-logo.jpg",
    "extensions": {
      "bazaar": {
        "info": {
          "input": {
            "type": "http",
            "method": "GET",
            "discoverable": true
          },
          "output": {
            "type": "json",
            "example": {
              "success": true,
              "data": {},
              "source": "Saylor Innovations"
            }
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "required": [
            "input",
            "output"
          ],
          "properties": {
            "input": {
              "type": "object",
              "additionalProperties": false,
              "properties": {}
            },
            "output": {
              "type": "object",
              "additionalProperties": true,
              "properties": {
                "success": {
                  "type": "boolean"
                },
                "data": {
                  "type": "object",
                  "additionalProperties": true,
                  "properties": {}
                },
                "source": {
                  "type": "string"
                }
              },
              "examples": [
                {
                  "success": true,
                  "data": {},
                  "source": "Saylor Innovations"
                }
              ]
            }
          }
        }
      }
    },
    "method": "GET",
    "inputMimeTypes": [
      "application/json",
      "application/x-www-form-urlencoded"
    ],
    "outputMimeTypes": [
      "application/json"
    ],
    "paymentProtocol": "x402",
    "noAccountRequired": true,
    "noApiKeyRequired": true,
    "auth": "none-before-payment",
    "pricingPolicy": {
      "unit": "request",
      "minimumUsd": 0.01
    },
    "parameters": [],
    "exampleUrl": "https://saylorinnovations.com/api/kb/money-floating-point-rounding-errors",
    "examples": [
      {
        "label": "Unpaid discovery call",
        "method": "GET",
        "url": "https://saylorinnovations.com/api/kb/money-floating-point-rounding-errors",
        "expectedStatus": 402
      }
    ],
    "discoveryUrl": "https://bazaar.saylorinnovations.com/discovery/search?urlSubstring=https%3A%2F%2Fsaylorinnovations.com",
    "capabilities": [
      "Never Use Floats for Money: Decimal, Integer Cents and Rounding Rules - a 6-minute technical guide"
    ],
    "useWhen": "Use when an agent needs live, structured data or analysis that should be fetched at request time instead of guessed by a model.",
    "doNotUseWhen": "Do not use for investment, medical, legal, or safety-critical decisions without independent verification.",
    "sideEffects": "none; read-only GET endpoint after x402 payment",
    "dataFreshness": "point-in-time data as returned by the source",
    "cacheTtlSeconds": 300,
    "responseFormat": "json",
    "errorModel": {
      "200": "Paid request succeeded and returns JSON.",
      "402": "Payment required. The response includes accepts[] payment requirements.",
      "4xx": "Caller input was invalid, unsupported, or outside coverage.",
      "5xx": "Provider or upstream data source was temporarily unavailable."
    },
    "payment": {
      "protocol": "x402",
      "settlement": "direct-to-provider",
      "facilitator": "provider-advertised",
      "replayProtection": "provider-enforced by x402 payment proof and timeout"
    },
    "license": "LicenseRef-Saylor-Agent-Use-1.0",
    "repository": "https://github.com/SaylorInnovations/solana-x402",
    "provider": {
      "name": "Saylor Innovations",
      "host": "saylorinnovations.com",
      "verified": true,
      "manifestUrl": "https://saylorinnovations.com/.well-known/x402.json"
    },
    "family": "guide",
    "difficulty": "intermediate",
    "readMins": 6
  },
  "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-21T04:25:47.254Z"
  },
  "exampleResponse": {
    "success": true,
    "data": {},
    "source": "Saylor Innovations"
  }
}