# DAP Foundry > Small single purpose tools. Each page does one job in the browser with no account, and on a page your inputs are not uploaded or stored. Four tools also answer a JSON endpoint, which receives only what a caller sends it and keeps no copy. Every JSON answer carries a record of the tool and the artifact that answered and the inputs it read, and the day count's answer also carries the data it used and when that data was collected. Every page has one canonical URL. A new tool publishes only after a person authorizes it. ## Index - [DAP Foundry](https://foundry.dap.solutions/): the list of every tool ## Tools - [Flatten nested JSON to CSV](https://foundry.dap.solutions/flatten-nested-json-to-csv/): turn a nested JSON object into a flat CSV table - [Convert Unix timestamp to date](https://foundry.dap.solutions/convert-unix-timestamp-to-date/): turn one or more Unix timestamps into UTC dates in ISO 8601 - [Count line frequency in text](https://foundry.dap.solutions/count-line-frequency-in-text/): count how many times each distinct line appears and get a CSV of line and count - [Convert YAML to JSON](https://foundry.dap.solutions/convert-yaml-to-json/): turn a YAML mapping into JSON text; YAML it cannot convert, such as a top level list, flow style, a comment or a | or > block, is refused, not guessed - [Decode base64 to text](https://foundry.dap.solutions/decode-base64-to-text/): decode base64 into UTF-8 text - [Validate JSON first error](https://foundry.dap.solutions/validate-json-first-error/): say whether JSON is valid, or give the line and column the browser reports for the first syntax error, or line 1 column 1 when it reports none - [Diff two line lists](https://foundry.dap.solutions/diff-two-line-lists/): say which lines are only in list A, only in list B, or in both - [Compute day count to settlement](https://foundry.dap.solutions/compute-day-count-to-settlement/): the settlement date on the Payments Canada holiday calendar and the accrual fraction under ACT/360, ACT/365F, 30/360, 30E/360 or ACT/ACT-ISDA In the CSV from Flatten nested JSON to CSV, Count line frequency in text and Diff two line lists, a cell that starts with =, +, -, @, a tab, a carriage return or a byte order mark gets a leading apostrophe so a spreadsheet shows it as text. A plain number (an optional + or -, digits with at most one decimal point and at least one digit, and an optional exponent, such as -5 or +1.5e3) is left as it is. A cell that holds a comma, a double quote, a semicolon, a tab or a line break is quoted, with the apostrophe inside the quotes. The apostrophe and the quotes guard the file when it is read with commas between cells. In the count and diff CSV a line is always the first cell, so it stays one cell when a spreadsheet splits on commas, semicolons or tabs and honours quotes. The flatten CSV is not guarded when a spreadsheet splits on semicolons or tabs: a semicolon, a tab or a line break inside a value or a column name, or a number that starts with + or - in the first column, can start a cell the spreadsheet may run as a formula. ## Hub - [DAP Foundry hub](https://foundry.dap.solutions/hub/): how each day count answer carries its own record, and a place to run the day count core in the browser without calling its endpoint ## Endpoints - [Endpoint description](https://foundry.dap.solutions/hub.md): the machine readable description of all four endpoints, with every parameter, the envelope fields, every refusal code, the HTTP status mapping and the order of checks of each - [compute-day-count-to-settlement](https://foundry.dap.solutions/api/compute-day-count-to-settlement): the settlement date on the Payments Canada calendar and the accrual fraction, with the calendar it used and when that calendar was collected - [convert-unix-timestamp-to-date](https://foundry.dap.solutions/api/convert-unix-timestamp-to-date): a text of Unix timestamps, one per line, as a CSV of UTC dates in ISO 8601 - [decode-base64-to-text](https://foundry.dap.solutions/api/decode-base64-to-text): base64 decoded into UTF-8 text - [diff-two-line-lists](https://foundry.dap.solutions/api/diff-two-line-lists): two lists of lines as a CSV of each line and whether it is only in list A, only in list B, or in both Every endpoint is paid: each computed answer costs $0.01 in USDC on Base under x402 version 2. A paid GET or POST answers JSON: 200 when it computed, 422 when it refused, and a refusal is not charged. A call without payment gets 402 and the price in a PAYMENT-REQUIRED header, HEAD gets that 402 with no body, OPTIONS gives 204 for a CORS preflight, and any other method gets 405. Paying makes the paying wallet, the amount and the time public on Base, and the payment facilitator sees them; your inputs are not sent to it. Every day count call must send all seven parameters, including acknowledge=no-ruling-v1 and a freshness_tolerance in whole days written PD, at least the calendar's age in days and no more than the ratified_ceiling each answer states. The three text tools each read one parameter, text, a string of at most 1,048,576 bytes of UTF-8, with the same core their page runs. A request to one is at most 1,052,672 bytes as sent, escapes included, so a text near its limit that needs many escapes in JSON can be too large to send, and is then refused as INPUT_INVALID; send such a text raw where JSON allows it, or split it. Each endpoint receives only what a caller sends it and keeps no copy; inputs are not stored. Prefer POST, because GET puts your inputs in the URL, where proxies and logs outside this tool may record them; POST keeps them in the body. A long text does not fit in a URL, so send it by POST. ## MCP server - [MCP server](https://foundry.dap.solutions/mcp): one stateless MCP server over Streamable HTTP, POST only. Its tools are the four endpoints above, each named by its slug, and each answer carries that endpoint's own answer, byte for byte. Every tool costs $0.01 per computed answer, the price of its endpoint, in USDC on Base under the x402 MCP transport, and a refusal is not charged. hub.md describes it under MCP server. ## DAP - [DAP Agent Payments](https://dap.solutions/solutions/systems/agent-payments/): the payment gateway in front of the four endpoints and their MCP tools, by Dartmouth Advisory Partners - All DAP tools for agents, with prices: https://dap.solutions/agents/ - [Dartmouth Advisory Partners](https://dap.solutions/llms.txt): the firm behind DAP Foundry, with its other agent services, including the Bellwether MCP server DAP Foundry · dap.solutions · no warranty · processed in memory · inputs not stored