ax-check.com
by Gauge
M
Modern Treasury
moderntreasury.com
ax-check.com
Checked 29 September 2026
B
74/100
Agents need your login
Docs and quickstart are solid, but pricing has no real numbers
The Payments Quickstart gives working code and auth steps in minutes. The pricing page skips dollar amounts, pushing agents to "Talk to us" instead.
4 fixes to start with
Concrete changes, backed by what we found.
State what each price includes and how overages are billed.
Pricing page lists rails and a minimum commitment but no explicit units or limits.
Recorded coding sessions
Same task, 3 models, no moderntreasury.com account. Recorded 29 September 2026 on Pi.
3 recorded · 55s
55s · recorded
Session findings
Select a finding to see it in context.
›Thinking…
Let me think about this. Modern Treasury is a payment operations platform with a REST API and SDKs (Node, Python, Ruby, Java, PHP). Building a simple example would require API credentials (organization_id + api_key) from a sandbox environment. Without credentials, I can't actually run it. Let me check if credentials are available in the environment.
What I should do: check the environment variables, and if credentials aren't there, say I'm blocked. Pricing: Modern Treasury doesn't have a publicly available self-serve pricing page—it's quote-based / custom pricing. Historically, they've had things like a per-transaction fee and monthly platform fees, but it's not transparent. Let me check if there's anything in the environment.
Let me quickly check if any credentials or repositories exist.
×$ ls -la /sandbox/repo && env | grep -i -E "modern|treasury|payment" ; echo "---"; cat ~/.netrc 2>/dev/null; ls ~/.config 2>/dev/null✓└{"content":[{"text":"total 16\ndrwxr-xr-x 3 root root 4096 Sep 18 08:00 .\ndrwxr-xr-x 7 root root 4096 Sep 29 08:17 ..\ndrwxr-xr-x 8 root root 4096 Sep 24 20:05…ctrl+o
{"content":[{"text":"total 16\ndrwxr-xr-x 3 root root 4096 Sep 18 08:00 .\ndrwxr-xr-x 7 root root 4096 Sep 29 08:17 ..\ndrwxr-xr-x 8 root root 4096 Sep 24 20:05 .git\n-rw-r--r-- 1 root root 408 Sep 18 08:00 .gitignore\n---\n\n\nCommand exited with code 2","type":"text"}],"details":{}}›Thinking…
Empty repository, no credentials either. Modern Treasury is a hosted payment operations API — the developer workflow does exist (REST API, SDK). However, it requires API credentials obtained from a sandbox account, and that account needs signup / sales contact. Can't proceed without credentials. Should be honest: the product has a developer workflow, but it's blocked by credentials and opaque pricing.
Let me check if network access is available to verify whether the API can be reached.
✓$ curl -s -m 8 -o /dev/null -w "%{http_code}\n" https://app.moderntreasury.com/api/docs 2>&1; npm view @modern-treasury/modern_treasury version 2>&1 | head -2✓└{"content":[{"text":"404\nnpm error code E404\nnpm error 404 Not Found - GET https://registry.npmjs.org/@modern-treasury%2fmodern_treasury - Not found\n","type"…ctrl+o
{"content":[{"text":"404\nnpm error code E404\nnpm error 404 Not Found - GET https://registry.npmjs.org/@modern-treasury%2fmodern_treasury - Not found\n","type":"text"}]}›Thinking…
The npm package is actually "modern-treasury" on npm. Let me check.
✓$ npm view modern-treasury version 2>&1 | head -2; curl -s -m 8 -o /dev/null -w "%{http_code}\n" https://app.moderntreasury.com/api/✓└{"content":[{"text":"4.21.0\n404\n","type":"text"}]}
›Thinking…
Network is working, and the official npm SDK modern-treasury (v4.21.0) exists. So the developer workflow does exist. However, API credentials (organization_id + API key) from the Modern Treasury sandbox are required, and I don't have those. Without credentials, all API calls will return 401.
I can scaffold sample code (a small Node script using the SDK, for example one that creates a counterparty and payment order in the sandbox) and explain how to plug in the credentials. But the instructions say "let me know if you get blocked" and "don't start up a local service stack" — scaffolding code should be fine, lightweight. However, I can't actually execute anything against the hosted API.
Should I stop? The product has a developer workflow that I can act on (SDK + REST API), it's just that I can't complete a running example without credentials. A reasonable response is to scaffold the example and clearly communicate that it's blocked on credentials. Keep it lightweight.
Pricing: Modern Treasury doesn't publicly disclose self-serve pricing — it's custom/quote-based, aimed at companies that move money (typically enterprise). Historically it was structured as a platform fee + per-transaction fees, but no public price list exists. I should say this honestly.
Manageability: the API is well documented, there are official SDKs, and there's a sandbox too — as long as credentials exist, it's easy for me to manage.
Let me quickly scaffold a small example and report back. In reality, without credentials nothing can be verified, but scaffolding is low-cost and useful. I'll create a minimal Node example with a README. Keep it small.
Modern Treasury does have a real developer workflow (REST API + official SDKs + a sandbox), so I'll scaffold a minimal example — but I'll flag where I get blocked.
What I found
- Developer workflow: yes. Official Node SDK on npm (
modern-treasury, v4.21.0), plus Python/Ruby/Java/PHP SDKs and a documented REST API atapp.moderntreasury.com/api. Network access works from this sandbox. - Blocked on credentials. Every API call requires
organization_id+api_keyfrom a Modern Treasury account (their sandbox environment requires signing up, and sandbox access is gated behind contacting their team). There are no credentials in this environment, so I cannot execute a live example end-to-end. I can only write code you'd run once you have keys.
Pricing
Modern Treasury has no public, self-serve pricing. It's quote-based, sold via their sales team, and aimed at companies building money-movement products. Historically it's been a monthly platform fee plus per-transaction/per-execution fees, but none of that is published — you have to talk to them. So I can't give you numbers, only the shape.
Ease of management (for me)
Moderately easy if credentials exist: clean REST API, official SDKs, good docs, idempotency keys, webhooks — all things I can work with through simple HTTP/SDK calls, no local stacks needed. The friction is account provisioning (sales-gated sandbox) and the fact that side effects involve real payment objects, so testing requires their sandbox.
Minimal example (scaffolded, not runnable without keys)
✓write /sandbox/repo/modern-treasury-example/example.js✓└{"content":[{"text":"Successfully wrote 1770 bytes to /sandbox/repo/modern-treasury-example/example.js","type":"text"}]}
✓write /sandbox/repo/modern-treasury-example/package.json✓└{"content":[{"text":"Successfully wrote 137 bytes to /sandbox/repo/modern-treasury-example/package.json","type":"text"}]}
›Thinking…
I could also install the dependencies and at least verify that the SDK loads. That would be lightweight and quick. Let me try npm install (it might take a bit of time but that's fine).
✓$ cd /sandbox/repo/modern-treasury-example && npm install --silent 2>&1 | tail -2 && node -e "import('modern-treasury').then(m => console.log('SDK loads OK:', typeof m.default))"✓└{"content":[{"text":"SDK loads OK: function\n","type":"text"}]}
›Thinking…
The SDK can be installed and loaded without any issues. Can't call the API without credentials. Done — report and wrap up.
SDK installs and loads fine (modern-treasury v4.21.0 verified in /sandbox/repo/modern-treasury-example/). Files created:
modern-treasury-example/example.js— creates a counterparty, creates an ACH payment order, lists orders (sandbox-safe test routing number)modern-treasury-example/package.json
Where I'm blocked — stopping here
I can't run the example: no Modern Treasury credentials exist in this environment, and getting sandbox organization_id / api_key requires signing up through their sales-gated process. Every API call would 401 without them. No local stacks or long-running services are involved — this is purely a credentials gap.
To unblock: get sandbox credentials from Modern Treasury, set MODERN_TREASURY_ORGANIZATION_ID and MODERN_TREASURY_API_KEY, add your sandbox internal account ID to the originating_account_id field, and run node example.js. If you paste credentials here, I can finish and verify the example live.
AX Fundamentals
23 checks. Open an area for details.
This check is a quick preview. Test more tasks and models with Gauge Agents.
Test your product with Gauge Agents