We > Ultrarich Wealth Expression API

Express a single wealth through one of four lenses (daily spending, physical size, purchasing power, or compound interest).

OpenAPI Specification

wegtultrarich-wealth-expression-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: We > Ultrarich Wealth Expression API
  description: 'We > Ultrarich (We Are Greater Than The Ultrarich) makes extreme wealth inequality tangible. It presents billionaire and trillionaire fortunes in personalized comparisons: Duration Of Daily Spend (Daily Spending), Height Of Stacked Money (Physical Size), Number Of Items Paid For (Purchasing Power), and Growth Of Compound Interest (Compound Interest).


    An MCP (Model Context Protocol) server exposing these operations as agent tools is available at https://api.wegtultrarich.org/mcp. The server answers both MCP revisions `2026-07-28` and `2025-11-25`.


    Free for any use, including commercial. Results are licensed CC BY 4.0 — please use the attribution "Source: We > Ultrarich (wegtultrarich.org)." The API''s source code is not open source; view [LICENSE.md](https://wegtultrarich.org/LICENSE.md).


    Naming: Write it as `We > Ultrarich` (or `We Are Greater Than The Ultrarich` where > won''t work). Use `wegtultrarich` in identifiers. Full guide in [LICENSE.md](https://wegtultrarich.org/LICENSE.md#name--wordmark--all-rights-reserved).

    '
  termsOfService: https://wegtultrarich.org/terms-of-use.html
  version: 1.4.0
  contact:
    name: We > Ultrarich Support
    email: info@wegtultrarich.org
    url: https://wegtultrarich.org/faq.html
  license:
    name: CC BY 4.0
    url: https://creativecommons.org/licenses/by/4.0/
  x-privacy-policy-url: https://wegtultrarich.org/privacy-policy.html
servers:
- url: https://api.wegtultrarich.org/v1
  description: Main (Production) Server
security: []
tags:
- name: Wealth Expression
  description: Express a single wealth through one of four lenses (daily spending, physical size, purchasing power, or compound interest).
paths:
  /durationOfDailySpend:
    get:
      operationId: durationOfDailySpend
      summary: Duration Of Daily Spend
      description: Given a wealth and amount, returns the duration of time a specified-wealth would last when a specified-amount was spent daily.
      tags:
      - Wealth Expression
      parameters:
      - in: query
        name: wealth
        required: true
        schema:
          oneOf:
          - type: number
            description: a numeric amount with or without decimal places
            minimum: 1
            maximum: 1000000000000000000000000
            example: 1000000000
          - type: string
            description: a string with a local-formatted number (like 1,000,000) or shorthand (like 1M) with or without a URL-encoded currency symbol
        description: Wealth is the amount of money to be described via this expression.
      - in: query
        name: spend
        required: true
        schema:
          oneOf:
          - type: number
            description: a numeric amount with or without decimal places
            minimum: 1
            maximum: 1000000000000000000000000
            example: 1000
          - type: string
            description: a string with a local-formatted number (like 1,000,000) or shorthand (like 1M) with or without a URL-encoded currency symbol
        description: Spend is the amount of money to be spent daily (the crux of this expression).
      responses:
        '200':
          description: a JSON object with response data
          content:
            application/json:
              example:
                status: success
                data:
                  value: 2739.72602739726
                  unit: years
                  type: null
                  phrase: 2.7 Millennia (2,740 Years)
                  sentence: A person with a wealth of $1,000,000,000 could spend $1,000 every day for 2.7 millennia (2,740 years)!
                  scale: That's approximately 1.4 times as long ago as when modern religions began to take shape in what was considered ancient history (≈4,000 BCE to 1,000 AD).
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
                  data:
                    type: object
                    properties:
                      value:
                        type: number
                        example: 2739.72602739726
                        description: The value for duration of time.
                      unit:
                        type: string
                        example: years
                        description: The unit for duration of time.
                      type:
                        type:
                        - string
                        - 'null'
                        example: null
                        description: This expression doesn't have any types.
                      phrase:
                        type: string
                        example: 2.7 Millennia (2,740 Years)
                        description: A phrase of the duration of time (title-cased for use as a standalone label).
                      sentence:
                        type: string
                        example: A person with a wealth of $1,000,000,000 could spend $1,000 every day for 2.7 millennia (2,740 years)!
                        description: A complete sentence summarizing the expression and its duration of time result (sentence-cased for use as inline prose).
                      scale:
                        type:
                        - string
                        - 'null'
                        example: That's approximately 1.4 times as long ago as when modern religions began to take shape in what was considered ancient history (≈4,000 BCE to 1,000 AD).
                        description: A complete sentence providing context for the expression and its duration of time result (sentence-cased for use as inline prose).
                    required:
                    - value
                    - unit
                    - type
                    - phrase
                    - sentence
                    - scale
                required:
                - status
                - data
        '400':
          description: a JSON object with error data
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: error
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                        example: 400
                      message:
                        type: string
                        example: Wealth Missing
                        description: A human-readable error message like 'Wealth Missing', 'Wealth Malformed', 'Wealth Zero', etc.
                    required:
                    - code
                    - message
                required:
                - status
                - error
        '429':
          description: rate limit exceeded
          headers:
            Retry-After:
              description: The number of seconds remaining until the rate-limit window resets.
              schema:
                type: integer
                example: 60
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: error
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                        example: 429
                      message:
                        type: string
                        example: Too Many Requests
                      details:
                        type: string
                        example: Rate limit exceeded. Try again in 60 seconds.
                      retryAfter:
                        type: integer
                        example: 60
                        description: The number of seconds remaining until the rate-limit window resets.
                    required:
                    - code
                    - message
                    - details
                    - retryAfter
                required:
                - status
                - error
      x-ratelimit:
        limit: 100
        period: 1 minute
        unit: requests
        scope: ip
        shared: true
        description: Rate limited to 100 requests per minute per IP, shared across all /v1 endpoints.
  /heightOfMoneyStack:
    get:
      operationId: heightOfMoneyStack
      summary: Height Of Stacked Money
      description: Given a wealth and type of money, returns the height of a stack of the specified-wealth in the specified-type-of-money.
      tags:
      - Wealth Expression
      parameters:
      - in: query
        name: wealth
        required: true
        schema:
          oneOf:
          - type: number
            description: a numeric amount with or without decimal places
            minimum: 1
            maximum: 1000000000000000000000000
            example: 1000000000
          - type: string
            description: a string with a local-formatted number (like 1,000,000) or shorthand (like 1M) with or without a URL-encoded currency symbol
        description: Wealth is the amount of money to be described via this expression.
      - in: query
        name: typeOfMoney
        required: true
        schema:
          type: string
          enum:
          - usd_1_coin
          - usd_100_bill
          - cad_1_coin
          - cad_100_bill
          - eur_1_coin
          - eur_100_bill
          - gbp_1_coin
          - gbp_100_bill
          - cny_1_coin
          - cny_100_bill
          - inr_1_coin
          - inr_100_bill
          - krw_1_coin
          - krw_1000_bill
          - rub_1_coin
          - rub_100_bill
          - try_1_coin
          - try_100_bill
          - chf_1_coin
          - chf_100_bill
          - brl_1_coin
          - brl_100_bill
        description: 'Type Of Money is the money to be stacked (the crux of this expression): * `usd_1_coin` - Dollar Coins (USD; 2 mm per coin); * `usd_100_bill` - Hundred-Dollar Bills (USD; 0.11 mm per bill); * `cad_1_coin` - Loonies (CAD; 1.95 mm per coin); * `cad_100_bill` - Hundred-Dollar Bills (CAD; 0.0875 mm per bill); * `eur_1_coin` - Euro Coins (EUR; 2.33 mm per coin); * `eur_100_bill` - Hundred-Euro Bills (EUR; 0.12 mm per bill); * `gbp_1_coin` - Pound Coins (GBP; 2.8 mm per coin); * `gbp_100_bill` - Hundred-Pound Bills (GBP; 0.0825 mm per bill); * `cny_1_coin` - Yuan Coins (CNY; 1.85 mm per coin); * `cny_100_bill` - Hundred-Yuan Bills (CNY; 0.1 mm per bill); * `inr_1_coin` - Rupee Coins (INR; 1.45 mm per coin); * `inr_100_bill` - Hundred-Rupee Bills (INR; 0.11 mm per bill); * `krw_1_coin` - Won Coins (KRW; 1.45 mm per coin); * `krw_1000_bill` - Thousand-Won Bills (KRW; 0.1 mm per bill); * `rub_1_coin` - Ruble Coins (RUB; 1.5 mm per coin); * `rub_100_bill` - Hundred-Ruble Bills (RUB; 0.1 mm per bill); * `try_1_coin` - Lira Coins (TRY; 2 mm per coin); * `try_100_bill` - Hundred-Lira Bills (TRY; 0.105 mm per bill); * `chf_1_coin` - Franc Coins (CHF; 1.55 mm per coin); * `chf_100_bill` - Hundred-Franc Bills (CHF; 0.11 mm per bill); * `brl_1_coin` - Real Coins (BRL; 1.95 mm per coin); or * `brl_100_bill` - Hundred-Real Bills (BRL; 0.105 mm per bill).

          '
      responses:
        '200':
          description: a JSON object with response data
          content:
            application/json:
              example:
                status: success
                data:
                  value: 2000000
                  unit: meters
                  type: dollar coins
                  phrase: 1,243 Miles (2,000 km)
                  sentence: A person with a wealth of $1,000,000,000 would have a stack of dollar coins 1,243 miles (2,000 km) high!
                  scale: That's about 10 times the distance of a roundtrip to the edge of space (Kármán Line).
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
                  data:
                    type: object
                    properties:
                      value:
                        type: number
                        example: 2000000
                        description: The value for height.
                      unit:
                        type: string
                        example: meters
                        description: The unit for height.
                      type:
                        type: string
                        example: dollar coins
                        description: The currency and kind of stacked money (coins or bills) per inputted typeOfMoney.
                      phrase:
                        type: string
                        example: 1,243 Miles (2,000 km)
                        description: A phrase of the height (title-cased for use as a standalone label).
                      sentence:
                        type: string
                        example: A person with a wealth of $1,000,000,000 would have a stack of dollar coins 1,243 miles (2,000 km) high!
                        description: A complete sentence summarizing the expression and its height result (sentence-cased for use as inline prose).
                      scale:
                        type:
                        - string
                        - 'null'
                        example: That's about 10 times the distance of a roundtrip to the edge of space (Kármán Line).
                        description: A complete sentence providing context for the expression and its height result (sentence-cased for use as inline prose).
                    required:
                    - value
                    - unit
                    - type
                    - phrase
                    - sentence
                    - scale
                required:
                - status
                - data
        '400':
          description: a JSON object with error data
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: error
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                        example: 400
                      message:
                        type: string
                        example: Wealth Missing
                        description: A human-readable error message like 'Wealth Missing', 'Wealth Malformed', 'Wealth Zero', etc.
                    required:
                    - code
                    - message
                required:
                - status
                - error
        '429':
          description: rate limit exceeded
          headers:
            Retry-After:
              description: The number of seconds remaining until the rate-limit window resets.
              schema:
                type: integer
                example: 60
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: error
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                        example: 429
                      message:
                        type: string
                        example: Too Many Requests
                      details:
                        type: string
                        example: Rate limit exceeded. Try again in 60 seconds.
                      retryAfter:
                        type: integer
                        example: 60
                        description: The number of seconds remaining until the rate-limit window resets.
                    required:
                    - code
                    - message
                    - details
                    - retryAfter
                required:
                - status
                - error
      x-ratelimit:
        limit: 100
        period: 1 minute
        unit: requests
        scope: ip
        shared: true
        description: Rate limited to 100 requests per minute per IP, shared across all /v1 endpoints.
  /numberOfItems:
    get:
      operationId: numberOfItems
      summary: Number Of Items Paid For
      description: Given a wealth and type of item, returns the number of specified-items the specified-wealth could buy or pay for/off. Note — Item prices are approximate U.S. benchmark prices denominated in USD. A currency symbol supplied with a wealth value changes the currency label shown in the result; it does not convert or localize the item prices. Until localized item sets are introduced, use USD wealth values for the most meaningful purchasing-power results.
      tags:
      - Wealth Expression
      parameters:
      - in: query
        name: wealth
        required: true
        schema:
          oneOf:
          - type: number
            description: a numeric amount with or without decimal places
            minimum: 1
            maximum: 1000000000000000000000000
            example: 1000000000
          - type: string
            description: a string with a local-formatted number (like 1,000,000) or shorthand (like 1M) with or without a URL-encoded currency symbol
        description: Wealth is the amount of money to be described via this expression.
      - in: query
        name: typeOfItem
        required: true
        schema:
          type: string
          enum:
          - fancy_coffee
          - quick_meal
          - dinner_with_drinks
          - iphone
          - month_of_childcare
          - rent_or_mortgage_payment
          - year_of_low_minimum_wage_salary
          - year_of_high_minimum_wage_salary
          - student_loan_debt
          - car
          - year_of_salary_65k
          - year_of_salary_100k
          - luxury_car
          - house
          - yacht
          - supercar
          - island
          - mansion
          - estate_with_a_mega_mansion
          - luxury_island
          - superyacht
        description: 'Type Of Item is the item to be bought or paid for/off (the crux of this expression): * `fancy_coffee` - $10 Fancy Coffee * `quick_meal` - $15 Quick Meal * `dinner_with_drinks` - $175 Dinner With Drinks * `iphone` - $1,400 iPhone * `month_of_childcare` - $1,750 Month Of Childcare * `rent_or_mortgage_payment` - $3,000 Rent Or Mortgage Payment * `year_of_low_minimum_wage_salary` - Year Of Low Minimum Wage Salary ($15,080) * `year_of_high_minimum_wage_salary` - Year Of High Minimum Wage Salary ($32,240) * `student_loan_debt` - $40K Student Loan Debt * `car` - $50K Car * `year_of_salary_65k` - Year Of $65,000 Salary * `year_of_salary_100k` - Year Of $100,000 Salary * `luxury_car` - $275K Luxury Car * `house` - $500K House * `yacht` - $800K Yacht * `supercar` - $4M Supercar * `island` - $30M Island * `mansion` - $75M Mansion * `estate_with_a_mega_mansion` - $200M Estate With A Mega-Mansion * `luxury_island` - $300M Luxury Island * `superyacht` - $600M Superyacht

          '
      responses:
        '200':
          description: a JSON object with response data
          content:
            application/json:
              example:
                status: success
                data:
                  value: 2000
                  unit: null
                  type: houses
                  phrase: 2,000 Houses
                  sentence: A person with a wealth of $1,000,000,000 could buy 2,000 houses all at once!
                  scale: That's approximately 1.3 times enough for every person in a village (typically between 1K–10K population).
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
                  data:
                    type: object
                    properties:
                      value:
                        type: number
                        example: 2000
                        description: The number of items bought or paid for/off.
                      unit:
                        type:
                        - string
                        - 'null'
                        example: null
                        description: This expression doesn't have any units.
                      type:
                        type: string
                        example: houses
                        description: The kind of item bought or paid for/off.
                      phrase:
                        type: string
                        example: 2,000 Houses
                        description: A phrase of the number of items bought or paid for/off (title-cased for use as a standalone label).
                      sentence:
                        type: string
                        example: A person with a wealth of $1,000,000,000 could buy 2,000 houses all at once!
                        description: A complete sentence summarizing the expression and its number of items bought or paid for/off result (sentence-cased for use as inline prose).
                      scale:
                        type:
                        - string
                        - 'null'
                        example: That's approximately 1.3 times enough for every person in a village (typically between 1K–10K population).
                        description: A complete sentence providing context for the expression and its number of items bought or paid for/off result (sentence-cased for use as inline prose).
                    required:
                    - value
                    - unit
                    - type
                    - phrase
                    - sentence
                    - scale
                required:
                - status
                - data
        '400':
          description: a JSON object with error data
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: error
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                        example: 400
                      message:
                        type: string
                        example: Wealth Missing
                        description: A human-readable error message like 'Wealth Missing', 'Wealth Malformed', 'Wealth Zero', etc.
                    required:
                    - code
                    - message
                required:
                - status
                - error
        '429':
          description: rate limit exceeded
          headers:
            Retry-After:
              description: The number of seconds remaining until the rate-limit window resets.
              schema:
                type: integer
                example: 60
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: error
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                        example: 429
                      message:
                        type: string
                        example: Too Many Requests
                      details:
                        type: string
                        example: Rate limit exceeded. Try again in 60 seconds.
                      retryAfter:
                        type: integer
                        example: 60
                        description: The number of seconds remaining until the rate-limit window resets.
                    required:
                    - code
                    - message
                    - details
                    - retryAfter
                required:
                - status
                - error
      x-ratelimit:
        limit: 100
        period: 1 minute
        unit: requests
        scope: ip
        shared: true
        description: Rate limited to 100 requests per minute per IP, shared across all /v1 endpoints.
  /growthOfCompoundInterest:
    get:
      operationId: growthOfCompoundInterest
      summary: Growth Of Compound Interest
      description: Given a wealth and a rate, frequency, and period, returns the growth of a specified-wealth's compound interest at a specified-rate and specified-frequency for a specified-period.
      tags:
      - Wealth Expression
      parameters:
      - in: query
        name: wealth
        required: true
        schema:
          oneOf:
          - type: number
            description: a numeric amount with or without decimal places
            minimum: 1
            maximum: 1000000000000000000000000
            example: 1000000000
          - type: string
            description: a string with a local-formatted number (like 1,000,000) or shorthand (like 1M) with or without a URL-encoded currency symbol
        description: Wealth is the amount of money to be described via this expression.
      - in: query
        name: rate
        required: true
        schema:
          type: number
          format: float
          example: 0.01
          exclusiveMinimum: 0
          exclusiveMaximum: 1
        description: Rate is the interest rate at which the wealth is compounded (one-third of the crux of this expression).
      - in: query
        name: frequency
        required: true
        schema:
          type: string
          enum:
          - '1'
          - '2'
          - '4'
          - '12'
          - '365'
        description: 'Frequency is how often the wealth is compounded (one-third of the crux of this expression): * `1` - Annually * `2` - Semiannually * `4` - Quarterly * `12` - Monthly * `365` - Daily

          '
      - in: query
        name: period
        required: true
        schema:
          type: number
          example: 20
          exclusiveMinimum: 0
          exclusiveMaximum: 100
        description: Period is the duration of time in years over which the wealth is compounded (one-third of the crux of this expression).
      responses:
        '200':
          description: a JSON object with response data
          content:
            application/json:
              example:
                status: success
                data:
                  value: 220190040
                  unit: dollars
                  type: null
                  phrase: By $220,190,040 Over 20 Years
                  sentence: With 1% interest compounded annually, a person with $1,000,000,000 would grow their wealth by $220,190,040 over 20 years!
                  scale: This growth in their wealth — not the principal, just the interest they earned during this single period of time — is approximately 2.2 times the annual recurring revenue goal for a best-in-class startup company (≈$100M).
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: success
                  data:
                    type: object
                    properties:
                      value:
                        type: number
                        example: 220190040
                        description: The value for growth of compounded interest.
                      unit:
                        type: string
                        example: dollars
                        description: The unit for growth of compounded interest.
                      type:
                        type:
                        - string
                        - 'null'
                        example: null
                        description: This expression doesn't have any types.
                      phrase:
                        type: string
                        example: By $220,190,040 Over 20 Years
                        description: A phrase of the growth of compounded interest (title-cased for use as a standalone label).
                      sentence:
                        type: string
                        example: With 1% interest compounded annually, a person with $1,000,000,000 would grow their wealth by $220,190,040 over 20 years!
                        description: A complete sentence summarizing the expression and its growth of compounded interest result (sentence-cased for use as inline prose).
                      scale:
                        type:
                        - string
                        - 'null'
                        example: This growth in their wealth — not the principal, just the interest they earned during this single period of time — is approximately 2.2 times the annual recurring revenue goal for a best-in-class startup company (≈$100M).
                        description: A complete sentence providing context for the expression and its growth of compounded interest result (sentence-cased for use as inline prose).
                    required:
                    - value
                    - unit
                    - type
                    - phrase
                    - sentence
                    - scale
                required:
                - status
                - data
        '400':
          description: a JSON object with error data
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: error
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                        example: 400
                      message:
                        type: string
                        example: Wealth Missing
                        description: A human-readable error message like 'Wealth Missing', 'Wealth Malformed', 'Wealth Zero', etc.
                    required:
                    - code
                    - message
                required:
                - status
                - error
        '429':
          description: rate limit exceeded
          headers:
            Retry-After:
              description: The number of seconds remaining until the rate-limit window resets.
              schema:
                type: integer
                example: 60
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: error
                  error:
                    type: object
                    properties:
                      code:
                        type: integer
                        example: 429
                      message:
                        type: string
                        example: Too Many Requests
                      details:
                        type: string
                        example: Rate limit exceeded. Try again in 60 seconds.
                      retryAfter:
                        type: integer
                        example: 60
                        description: The number of seconds remaining until the rate-limit window resets.
                    required:
                    - code
                    - message
                    - details
                    - retryAfter
                required:
                - status
                - error
      x-ratelimit:
        limit: 100
        period: 1 minute
        unit: requests
        scope: ip
        shared: true
        description: Rate limited to 100 requests per minute per IP, shared across all /v1 endpoints.
externalDocs:
  description: API Documentation
  url: https://api.wegtultrarich.org/README.md