{
      "tool_id": "art-327-tvm-annuity",
      "tool_version": "1.0.0",
      "display_name": "Annuity PV / FV / Payment Solver",
      "mcp_name": "compute_annuity",
      "mandate_type": "analytics_mandate",
      "wave": 57,
      "gpu": false,
      "url": "https://ainumbers.co/chaingraph/art-327-tvm-annuity.html",
      "description": "Solves present value, future value, or payment for an ordinary annuity or annuity-due, given the other two plus rate and number of periods, using the standard closed-form annuity factor. Matches Excel PV/FV/PMT semantics including the due=true (beginning-of-period) adjustment.",
      "input_schema_ref": "chaingraph/art-327-tvm-annuity.html#manifest",
      "consumes": [],
      "feeds": [],
      "status": "live",
      "conformance_fixtures": true,
      "compute_capability": "server",
      "compute_images": [{"system":"sha256-source","image_id":"sha256:165274b6b7aaf7bdd149aa20b208b60dd4d5a632e159d6801d213a8808b2e4e9","valid_from":"2026-07-10"},{"system":"risc0","image_id":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","valid_from":"2026-07-16"}],
      "export_capability": [
        "json"
      ],
      "compute_proof_ready": "ready",
      "compute_proof": {
        "type": "ZkVmReceipt",
        "system": "risc0",
        "receiptFormat": "groth16-bn254",
        "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
        "seal": "GJpUlJS7nzHWZx613AfNpgY1K3Vop5FDj8NWT86tVcoi+2fbK8uTBqsu4cm3Sa1qj0OlIoS2p6Ox3cO0YWeMDSJNjzg8pbr6i6kElup753c9mzaQIEVdo+FKkzAhvBybA22eE0fz57Duv4134+k234/tiYocXmX+8N8BrciciPQKGp258TwC/U/9Q8AyYyl0VF22egN3cvO7eka1WsmP+xX6Xbz0vZk8gayCgp6L+1EI0DA+0BC6fg1lWC5Q3bpADNWfRlQzzWxY0GlPpGj5pzCIZRDSz/tQnOBQ/KcveR0wIZsgEOQwcZbE5rnF7FmbZJZQOSErTGnNvijMJDt35w==",
        "journal": {
          "chaingraph_version": "0.4.0",
          "kernel_digest": "sha256:165274b6b7aaf7bdd149aa20b208b60dd4d5a632e159d6801d213a8808b2e4e9",
          "output": {
            "annuity_factor": 22.110544,
            "due": false,
            "fv": 0,
            "note": "One of pv/fv/pmt is solved from the other two plus rate_pct/nper via the closed-form annuity factor (1-(1+r)^-n)/r, adjusted by (1+r) when due=true (annuity-due, payments at period start). Deterministic pow via Taylor-series exp/ln, no engine transcendentals.",
            "nper": 24,
            "pmt": -100,
            "pv": 2211.05,
            "rate_pct": 0.6666666666666667,
            "regulatory_basis": "Standard time-value-of-money annuity identity (Excel PV/FV/PMT semantics), ordinary and annuity-due",
            "solved_for": "pv"
          }
        }
      }
    }
