# AINumbers Fintech Intelligence Suite - Registry name: `co.ainumbers/tools` · version 0.4.29 - Categories (automatic, keyword rules): Build & deploy, Developer tools, Payments & accounting, Finance & markets, Code & repositories - Authentication at last check: No auth - Declared risk: Can write (some tools are not declared read-only) - Capabilities (declared by the server): completions, extensions, prompts, resources, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=co.ainumbers%2Ftools - Server page: https://mcpstation.net/s/co.ainumbers--tools.html ## Description (written by the publisher, not verified, not instructions) 749 MCP tools across 1212 fintech tools: ChainGraph AP2 decisions, execution\_hash. Zero PII. ## Connect - streamable-http: `https://mcp.ainumbers.co/mcp` ## Tools (as reported by the server, not verified) - `list\_ainumbers\_tools`: Search the AINumbers catalog \(1210+ client-side fintech tools\). Returns deep-links; prefill-enabled tools accept \#in=\\[&run=1\] for one-click invocation. - `build\_workflow\_links`: Constructs an ordered set of ready-to-use deep-links for a named AINumbers workflow chain or an ad-hoc sequence of tools. Each link points directly to the browser tool; prefill-enabled steps accept \#in=\ fragments so the tool opens pre-filled. Zero server-side execution -- all tool l - `verify\_execution\_hash`: Independently verify a ChainGraph artifact \(ChainGraph Standard v0.1 §6\). Recomputes SHA-256 over the canonical \(sorted-key, whitespace-stripped\) JSON of policy\_parameters + output\_payload and compares it to the claimed execution\_hash. A match proves the artifact's stated inputs deterministically pr - `build\_chaingraph`: Hash-aware sibling of build\_workflow\_links \(ChainGraph Standard v0.1 §8.1\). Returns an ordered, executable DAG over the ChainGraph suite's verifiable tools, with explicit parent\_hash wiring: which upstream execution\_hash each step must cite in its chain block. Pass target\_tool\_id to build the chain - `emit\_chaingraph\_artifact`: Makes ChainGraph tools agent-callable \(ChainGraph Standard v0.1 §3.1\). Mode 1 — supply pre\_computed\_artifact \(exported from the browser tool\): validates §4 schema fields, recomputes execution\_hash via SHA-256 over canonical \{policy\_parameters, output\_payload\}, returns verified structuredContent. Mod - `build\_session\_receipt`: Aggregates execution\_hashes from N ChainGraph tool calls in one agent session into a single SHA-256 Merkle root \(session\_receipt\_root\). Returns a tamper-evident session receipt and a regulator-framed PTG-01 audit prompt. One receipt covers an entire agent session: supply all execution\_hashes in call - `find\_tool`: BM25 search over all 688 live AINumbers ChainGraph node tools. Returns ranked tools with mcp\_name, URL, mandate type, and wave. Use to locate a specific computation node \(e.g. "FRTB expected shortfall", "MiCA own funds", "XVA calculator", "reserve composition", "2052a", "initial margin", "model vali - `find\_chain`: BM25 search over all 392 AINumbers ChainGraph chains. Returns ranked chains with their full recipe: ordered node sequence, deep-links, composer URL, and entry tool mcp\_name. Agent flow: find\_chain\(query\) → read recipe → call the listed node MCP tools in order, passing parent\_hashes between steps. Ta - `run\_chain`: Executes every step of a named chain \(list names with find\_chain / build\_workflow\_links\) and returns ONE composite artifact whose execution\_hash anchors all step outputs. compute:"server"/"auto" \(default\) runs each kernel-backed step server-side, threading step N's execution\_hash into step N+1's par - `suite\_howto`: How to chain AINumbers tools into audited workflows: call with NO recipe\_id for the compact recipe index, or with one recipe\_id for that workflow's full step-by-step recipe. Every recipe carries the suite conventions end to end: Policy Mandate exports, execution\_hash verification, and receipts. - `describe\_tool`: Returns the full definition of exactly one AINumbers MCP tool: name, description, inputSchema, outputSchema \(the JSON Schema its structuredContent validates against\), annotations, and lifecycle\_status. Use it after find\_tool or find\_chain hands you an mcp\_name, or after tools/list whose entries omit - `run\_chain\_batch`: Batch over named chains in ONE round-trip with a PER-ROW terminal status — one row's failure never fails another, and every row's result rides the single response. mode:"run" \(default\) executes each row through the same engine as run\_chain \(composite artifact + execution\_hash per row, deterministic\) - `call\_tool`: Runs ONE read-only AINumbers tool that is not in your tool list. tools/list is paginated \(13 pages, 722 tools\) and many hosts read only the first page; this is the door to the rest. Pass \{ name: "\", arguments: \{ ... \} \} — the target's own inputSchema is validated and its result is re - `baas\_provider\_comparator`: Score and compare BaaS providers across 10 capability dimensions \(regulatory standing, programme management, card issuance, rails, KYC/KYB, disputes, developer experience, pricing, FDIC pass-through, compliance tooling\) with a user-adjustable 1-5 weighting matrix. Outputs a weighted comparison matri - `validate\_ap2\_mcp\_policy`: Validate AP2 Policy Mandate JSON payloads against the Unified Build Contract v1.0 schema. Auto-generates MCP tool definitions from the mandate and simulates agent ingestion of agent\_instructions. Use when authoring or testing AP2 agentic payment policies. Renders the interactive AINumbers tool as a - `build\_google\_ap2\_mandate`: Build or validate a Google AP2 Checkout/Payment Mandate VDC \(Open/Closed\). Targets the external AP2 spec, not the AINumbers Policy Mandate. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side \(zero PII, zero network\). Output schema: - `score\_mcp\_readiness`: Compute a composite MCP server ship-readiness score across tool definitions, server.json, OAuth, transport, tool poisoning, and spec compliance. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side \(zero PII, zero network\). Output sc - `agentic\_mandate\_sandbox`: Simulate agent payment policies for tokenized A2A corridors: set spend caps, MCC allowlists, velocity throttles, and approval thresholds; run synthetic transactions against the policy and export the result as a Policy Mandate. Browser-based, client-side only, zero PII. Renders the interactive AINumb - `customer\_risk\_rating`: Score individual and entity KYC risk across six FATF dimensions: customer type, product/service type, delivery channel, geographic risk, transaction behaviour, Browser-based, client-side only. Zero PII. Link users to https://ainumbers.co/tools/110-customer-risk-rating.html for interactive use. Rende - `ap2\_aml\_mandate\_builder`: Anchor agentic tool for Cat-12. Translate AML/BSA program controls, TM rules, and customer risk policy into a structured Policy Mandate JSON for agentic payment sy Browser-based, client-side only. Zero PII. Link users to https://ainumbers.co/tools/131-ap2-aml-mandate-builder.html for interactive use - `lint\_mcp\_tool\_definition`: Validate an MCP tool definition against JSON Schema 2020-12 and current naming, output-schema, and annotation rules; returns findings, a conformance score, and a recommended annotation set. Use when a developer wants to check an MCP tool definition before publishing. Renders the interactive AINumber - `validate\_mcp\_server\_json`: Validate an MCP server.json against the 2025-12-11 schema and the official registry publishing rules; returns findings, a registry-readiness score, and an optional compliant skeleton. Use when a developer wants to check a server.json before publishing to the MCP Registry. Renders the interactive AIN - `compare\_agentic\_payment\_protocols`: Compare agentic payment protocols \(AP2, ACP/Shared Payment Token, x402, Visa TAP, Mastercard Agent Pay\) across credential, signing, scope, rail, identity, and audit dimensions; optionally recommend a fit for a scenario. Read-only local lookup and comparison — no state change, no keys held, nothing s - `decode\_x402\_payment`: Decode an x402 payment header or lint an exact-scheme PaymentPayload, and describe the HTTP-402 verify/settle flow. Use when a developer is integrating x402 and needs to inspect a header, check a payload shape, or understand the flow. Renders the interactive AINumbers tool as a widget; inputs are ap - `audit\_mcp\_oauth`: Audit MCP OAuth 2.1 authorization: validate RFC 9728 protected-resource-metadata, check RFC 8707 audience binding, and assess token-passthrough / confused-deputy risk. Use when a developer is securing an MCP server's authorization. Renders the interactive AINumbers tool as a widget; inputs are appli - `scan\_tool\_poisoning`: Scan an MCP tool description/manifest for tool-poisoning and prompt-injection smells; returns a risk score and flagged patterns. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side \(zero PII, zero network\). Output schema: call descr - `validate\_a2a\_agent\_card`: Validate an A2A agent-card.json against the v1.0 shape, check signatures, and confirm extension declarations. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side \(zero PII, zero network\). Output schema: call describe\_tool\("validate\_ - `inspect\_visa\_tap\_signature`: Inspect a Visa Trusted Agent Protocol HTTP Message Signature and score TAP readiness. Renders the interactive AINumbers tool as a widget; inputs are applied via the AIN Bridge and the tool runs client-side \(zero PII, zero network\). Output schema: call describe\_tool\("inspect\_visa\_tap\_signature"\). - `run\_kernel\_vm`: Run a ChainGraph decision kernel's compute\(policy\_parameters\) inside a sandboxed, deterministic, in-browser QuickJS-ng WebAssembly VM \(ocg-deterministic-compute@2\) and return its output\_payload. Demo kernel set only -- for the full catalog, use the worker's compute kernels directly. Renders the inte - `validate\_input\_attestations`: Verify an artifact's input\_attestations\[\] \(ChainGraph Standard §23\): per RFC 6901 pointer, checks the attested value resolves inside policy\_parameters and its digest binding matches, then verifies each type along its own path -- vc-2.0 via the shipped §16/§13.11 Data Integrity proof, rfc3161-snapsho - `validate\_private\_inputs`: Verify an artifact's private\_inputs\[\] \(ChainGraph Standard §25 ocg-private-input@1\) WITHOUT ever seeing the plaintext witness: per RFC 6901 pointer, checks the pointed value inside policy\_parameters IS the declared sha256-salted@1 commitment \(never the plaintext, §25.2\), that the commitment scheme i - `build\_disclosure\_manifest`: Builds a Merkle-rooted disclosure manifest from a caller-supplied digest list \(DATAROOM-1-BUILD-SPEC.md §DR-4\) -- the agent hashes files itself and passes \{path,size,digest,content\_type\} entries; the worker never sees file contents. Same leaf scheme as tools/546-disclosure-manifest-builder.html: sha - `verify\_disclosure\_inclusion`: Proves \(or refutes\) that a \{path,digest\} pair was in a disclosure manifest's room \(DATAROOM-1-BUILD-SPEC.md §DR-4\) -- worker-side mirror of tools/547-disclosure-manifest-verifier.html's single-file inclusion check. Recomputes the manifest's Merkle root over its entries\[\], builds the inclusion proof - `suggest\_tool\_idea`: Builds a prefilled GitHub Issue-Forms URL for proposing a new AINumbers fintech tool, OpenChainGraph compute node, or verifiable workflow. Returns the URL only -- it never posts to GitHub on the caller's behalf. Companion to the site's mailto suggestion form \(suggest.html\); this is the agent-callabl - `export\_artifact`: Render a verified OpenChainGraph v0.4 artifact into a chaingraph\_export profile \(OCG Standard §13\). Generated downstream of and EXCLUDED from the execution\_hash preimage — the export is a view, not a fact; verification always routes back to the canonical JSON artifact. Pass the FULL artifact you rec - `vc\_issue`: Composes and signs a W3C Verifiable Credential 2.0 with an eddsa-jcs-2022 Data Integrity proof over a fresh ephemeral did:key \(generated per call, not reused\). Returns the signed credential, an OCG Standard §23 vc-2.0 input-attestation block ready to embed in a ChainGraph chain's policy\_parameters a - `sdjwt\_issue`: Issues a Selective Disclosure JWT \(RFC 9901\) from a claims object, marking selected top-level claim keys as selectively disclosable via salted-hash digests in the \_sd array. Signed EdDSA over a fresh ephemeral did:key \(generated per call, not reused\). Pair with sdjwt\_present to build a redacted pres - `sdjwt\_present`: Builds a redacted presentation from an existing SD-JWT \(as returned by sdjwt\_issue\), keeping only the listed disclosures. Pass aud to add a KB-JWT holder-binding \(a fresh ephemeral holder key is generated per call\). Pass issuer\_did \(the sd\_jwt's "issuer" field\) to also verify the JWS and return the - `checklist\_validate\_definition`: Validates a checklist or SOP definition JSON against the CHECKRUN-1 schema \(definition\_id, title, semver version, non-empty steps\[\] each with step\_id/title/instruction/evidence\_requirement \(none\|text\|file-digest\|attestation\)/gate \(blocking\|advisory\)\). Returns valid:true/false plus a field-by-field e - `checklist\_step\_receipt`: Completes ONE step of a checklist/SOP run and returns its OCG v0.4 step receipt: execution\_hash chains to prev\_step\_receipt\_digest \(pass the previous step's execution\_hash, or omit for step 0\). A blocking-gate step with evidence\_requirement \!= "none" and no evidence supplied is refused \(the caller e - `checklist\_verify\_run`: Recomputes and checks a checklist run: every step receipt's execution\_hash, the hash-chain link between consecutive steps, and \(if a run\_receipt is supplied\) the §20.1 RFC 6962 Merkle root over every step. Returns valid:true/false, per-step ok/hash\_ok/link\_ok, and broken\_at \(the zero-based index of - `ha\_record\_validate`: Structural \(non-cryptographic\) §27.2 signed-named-human check: does this record carry a §16 whole-artifact proof \(eddsa-jcs-2022\) whose verificationMethod is bound to the record's own identity.id? Does NOT verify the signature bytes -- pair with verify\_execution\_hash / a proof verifier for that. Use - `ha\_gate\_status`: Given a step's haGatePolicy and the human\_accountability\_records\[\] collected for a subject, returns whether the gate is satisfied, held, rejected, escalated, or overridden -- same algorithm as the browser verify.html HA gate card \(kernels/\_hagate.mjs, SPEC.md §27.4-27.5\). A rejection record is termi - `ha\_bundle\_export`: Assembles a §27.6 haEvidenceBundle from a subject's collected human\_accountability\_records\[\] \(reviewers, approvers, annotations, exception rationale, timestamps\) -- same algorithm as the browser verify.html HA export card \(kernels/\_haevidence.mjs\). Set sd\_jwt:true to also export it as a Selective Di - `intoto\_record\_chain\_run`: Wraps the result of a run\_chain call \(server/auto compute mode\) as standard in-toto links, one per successfully-executed step, plus a generated in-toto layout matching the chain's linear topology \(each step MATCHes the previous step's product\). Materials/products are keyed by the step's execution\_ha - `build\_evidence\_pack`: Composes a session receipt \(build\_session\_receipt logic\), an optional §27.6 HA evidence bundle \(ha\_bundle\_export logic, included only when ha\_records is supplied and non-empty\), and a disclosure manifest \(build\_disclosure\_manifest logic\) from one array of already-produced artifacts, all keyed to the - `anchor\_stamp`: Calls the anchor-suite MCP server \(server-to-server, not the browser CORS-gated relay\) to timestamp one execution\_hash, or batch-anchor an array via anchor-suite's own anchor\_batch \(one upstream call per batch, RFC 6962 Merkle root anchored, per-hash merkle\_inclusion returned\), and shapes the result - `otlp\_validate`: Structurally validates an OTLP/JSON trace \(resourceSpans -\> scopeSpans -\> spans: hex traceId/spanId shape, quoted nanosecond timestamps, parent-span references, time ordering\) and checks every gen\_ai span's attributes against a pinned gen\_ai semantic-convention attribute snapshot \(the upstream open- - `otlp\_span\_receipt`: OTLP span/trace to receipt bundle; does NOT build a ChainGraph \(use build\_chaingraph for that\). Three modes, chosen by which input is supplied. \(1\) Pass \`trace\` alone to GENERATE a receipt bundle: a per-span receipt \(span digest, parent-span receipt digest, semconv\_snapshot, eddsa-jcs-2022 signature - `redline\_diff`: An agent proposes an edit: diffs original text/markdown against its own revised version and returns the line-level hunks plus a diff receipt \(original/revised digests, diff-algorithm declaration, per-hunk digests\). Byte-identical to what the tools/552 browser workbench computes for the same inputs - - `redline\_verify`: Recomputes a redline review from scratch: the diff \(from the pasted original+revised text\), the diff\_receipt's execution\_hash, every hunk\_receipt's digest/execution\_hash/chain-link \(in the order supplied -- entries may be minted by an agent, a human, or both interleaved\), the disposition\_receipt's e - `lei\_kyb\_check`: Fetches an entity's live GLEIF LEI record \(api.gleif.org -- the worker's only egress target for this tool, RULINGS-2026-07-19-EGRESS-APEX.md R1\) and grades it across six GLEIF data-quality dimensions -- registration status, renewal timeliness, corroboration level, entity status, Level-2 parent discl - `acdc\_said\_check`: Agent-facing mirror of the tools/553 browser workbench \(VS-1\) -- recomputes the self-addressing identifiers \(SAIDs\) of a pasted ACDC / vLEI credential JSON \(top-level "d" plus any nested a/e/r blocks\) under the KERI/CESR Blake3-256 \("E"\) or SHA2-256 \("I"\) derivation codes, and cross-checks the decla - `workbook\_evaluate`: Feeds a set of A1-style cells \(formulas and/or literals\) through the SAME headless evaluator the tools/554 browser workbook uses -- topo-sorted dependency graph, \~20 functions \(SUM AVG MIN MAX COUNT COUNTIF IF AND OR NOT ROUND ABS CONCAT LEN LEFT RIGHT TRIM UPPER LOWER SUMIF\), cycles resolve to "\#CY - `workbook\_range\_digest`: Spreadsheet-range digest only; NOT the general artifact emitter \(use emit\_chaingraph\_artifact to wrap arbitrary computation output — this tool's as\_artifact mode covers whole-sheet workbook runs only\). Evaluates the supplied cells \(same evaluator as workbook\_evaluate\) and computes a canonical values - `workbook\_csv\_parse`: Parses CSV text with the SAME strict RFC 4180 parser as the tools/554 browser workbook -- quoted fields, embedded quotes/commas/newlines, CRLF -- and REJECTS malformed input rather than repairing it \(deterministic beats forgiving for hash-stable digests\). Numeric-looking and TRUE/FALSE cells are typ - `workbook\_roundtrip\_verify`: Compares a WB-2 Spreadsheet Input Manifest \(expected digests\) against pasted-back CSV/TSV text per manifest range \(observed, e.g. after a recompute in Excel\) and returns an XLR-1 round-trip receipt -- \`result: "match"\|"mismatch"\` plus a \`mismatches\[\]\` cell list when expected\_by\_ref text is also supp - `pain001\_validate`: Validates a pain.001.001.09 customer credit transfer initiation XML document against the same hand-derived schema-subset table as the tools/555 browser validator -- structural \(mandatory fields\), facet \(IBAN mod-97, BIC format, ISO 4217 currency, decimal/date patterns\), and batch-total cross-checks - `camt053\_parse`: Parses a camt.053.001 bank-to-customer statement XML document with the same schema-subset structural and facet checks as the tools/565 browser reconciliation workbench \(IBAN mod-97, BIC, currency, date/decimal facets\), returning the extracted statement \(message id, statement id, account IBAN/currenc - `recon\_match`: Parses a camt.053.001 statement \(same schema-subset checks as camt053\_parse\) and a counterpart expectation set \(CSV, header EndToEndId,Amount,Currency,Date -- same strict RFC 4180 parser as the WORKBOOK-1 CSV tools\), then runs the SAME deterministic match engine as the tools/565 browser workbench: E - `diagnose\_canton\_readiness`: Canton Tokenization Readiness Diagnostic: OpenChainGraph compute node \(readiness\_diagnostic\). Deterministic OpenChainGraph compute node. By default \(compute:"auto"\) inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-sid - `optimize\_settlement\_capital`: Settlement-Risk Capital Efficiency Optimizer: OpenChainGraph compute node \(capital\_assessment\). Deterministic OpenChainGraph compute node. By default \(compute:"auto"\) inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-s - `check\_tokenized\_collateral\_eligibility`: Tokenized Collateral Eligibility Checker: OpenChainGraph compute node \(collateral\_mandate\). Deterministic OpenChainGraph compute node. By default \(compute:"auto"\) inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side - `check\_cash\_leg\_finality`: On-Chain Cash-Leg Finality Checker: OpenChainGraph compute node \(attestation\_mandate\). Deterministic OpenChainGraph compute node. By default \(compute:"auto"\) inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execu - `validate\_canton\_dvp\_atomicity`: Canton DvP Atomicity Validator: OpenChainGraph compute node \(settlement\_mandate\). Deterministic OpenChainGraph compute node. By default \(compute:"auto"\) inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution - `calculate\_repo\_haircut`: On-Chain Repo Haircut Calculator: OpenChainGraph compute node \(collateral\_mandate\). Deterministic OpenChainGraph compute node. By default \(compute:"auto"\) inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side executio - `validate\_canton\_party\_allowlist`: Canton Party Allowlist Validator: OpenChainGraph compute node \(compliance\_mandate\). Deterministic OpenChainGraph compute node. By default \(compute:"auto"\) inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side executio - `classify\_digital\_asset\_regulatory`: Digital Asset Regulatory Classifier: OpenChainGraph compute node \(compliance\_mandate\). Deterministic OpenChainGraph compute node. By default \(compute:"auto"\) inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execu - `validate\_pvp\_settlement`: Multi-Currency PvP Validator: OpenChainGraph compute node \(settlement\_mandate\). Deterministic OpenChainGraph compute node. By default \(compute:"auto"\) inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution an - `validate\_tokenized\_security\_lifecycle`: Tokenized Security Lifecycle Validator: OpenChainGraph compute node \(compliance\_mandate\). Deterministic OpenChainGraph compute node. By default \(compute:"auto"\) inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side ex - `mobilize\_margin\_collateral`: Margin Call Collateral Mobilizer: OpenChainGraph compute node \(collateral\_mandate\). Deterministic OpenChainGraph compute node. By default \(compute:"auto"\) inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side executio - `validate\_fund\_collateral`: Tokenized Fund Collateral Validator: OpenChainGraph compute node \(collateral\_mandate\). Deterministic OpenChainGraph compute node. By default \(compute:"auto"\) inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execu - `validate\_collateral\_swap\_eligibility`: Collateral Swap Eligibility Validator: OpenChainGraph compute node \(collateral\_mandate\). Deterministic OpenChainGraph compute node. By default \(compute:"auto"\) inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side exe - `audit\_borrower\_escrow\_stmt`: Borrower Escrow Auditor: OpenChainGraph compute node \(consumer\_finance\). Deterministic OpenChainGraph compute node. By default \(compute:"auto"\) inputs are computed server-side on Cloudflare Workers for gpu:false nodes with a registered kernel; compute:"browser" forces client-side execution and retur Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html