PUBLIC RULES
METHODOLOGY 1.2
Terry Check is read-only XRPL evidence. It is not investment advice, not a safety score, and not custody. It never requests a seed, connects a wallet, signs, or submits. The public contract is labeled 1.2.
LEDGER FACTS vs Terry's reading
LEDGER FACTS
Values observed at the pinned ledger, or explicitly unavailable / omitted. Amounts stay decimal strings. Presentation rounding is display-only and does not mutate stored or API-returned ledger values.
TERRY'S READING
interpretations[] (and the older findings[] array). Status labels (confirmed, clear, caution, high_concern, unknown) are Terry's reading of those facts, not a second ledger. Unknown is a first-class state. Missing evidence is never silently treated as clear.
Pinned ledger
Token Check and Account scan take one validated ledger, then reuse that numeric ledger_index on follow-up RPCs. A report is one snapshot. XRPL state can change after checkedAt.
- ledger with ledger_index: "validated" → ledgerIndex + ledgerHash
- Follow-ups (account_info, account_lines, token-check amm_info, and token-check book_offers) pass that same ledger_index
Transaction Check is a single tx lookup by hash. It reports that transaction's own ledgerIndex when the RPC returns one. It does not open a separate validated-ledger pin and then re-query the transaction against that pin.
Secret rejection and rate limits
SECRET REJECTION
Request bodies and shareable path identifiers that look like family seeds (s… / sEd…), BIP39-like phrases, or hex private keys are rejected with errorState: secret_rejected. The secret is never echoed, displayed, or logged. Terry never requests a seed phrase.
RATE LIMITS
Evidence POST /api/* is limited to 30 requests / 60 seconds per IP, colo-local. HTTP 429, Retry-After 60, errorState: rate_limited. Shareable pages reuse those same POSTs; they are not a way around the door.
What 1.2 actually checks
TOKEN CHECK
Exact issuer + currency. usd is not USD. Reserved XRP is native; issued xrp is issued. CSS uppercase is never identity. Native-XRP AMM pair only: found / not_found / unavailable. Copy when absent: No native-XRP AMM found at the pinned ledger. Direct native-XRP DEX book_offers only (1%, 2%, and 5% impact from best quality). Pathfinding is not this pair's book.
ACCOUNT SCAN
Classic r-address or mainnet X-address trustline inventory at the pinned ledger. X-addresses decode to the classic account plus destination tag (present vs absent). actNotFound is HTTP 404 + pin, not deletion. Provider failure is HTTP 502 unavailable. Pagination can be incomplete (inventoryState unknown). Zero-balance lines are REVIEW REQUIRED, not a TrustSet.
TRANSACTION CHECK
tx by hash. deliveredAmountState is present, unavailable, or omitted. Do not treat requested Amount as received when unavailable. txnNotFound is 404; other failures are 502.
TOML + LIMITS
Secondary xrp-ledger.toml from the ledger Domain only (https://{DOMAIN}/.well-known/xrp-ledger.toml). Missing, malformed, mismatched, or unavailable TOML is not fraud. Direct native-XRP DEX book_offers only (1%, 2%, and 5% impact from best quality). Pathfinding is not this pair's book. This product does not scan every AMM pair. No MPT. Mainnet classic r-address or X-address. Testnet T-addresses are rejected. No live Mainnet writes.
Change-oriented summary
1.2 is the live public label. Shareable read-only permalinks exist for wallet inventory, token evidence, and this methodology page. They reuse POST /api/scan and POST /api/token-check — no new XRPL write path, no Watch, and no Clean signing.
IN 1.2
- Token, wallet, and transaction checks at a pinned ledger
- Direct native-XRP DEX book_offers at 1%, 2%, and 5% impact
- Shareable /wallet, /token, and /methodology routes
- Mainnet X-address decode with destination-tag honesty
- Four-layer Terry Bouncer errors
- Secret rejection and POST /api/* rate limits
- Secondary TOML that never overrides ledger facts
NOT IN 1.2
- Terry Watch and authenticated /watch
- Wallet-assisted Clean signing or /clean TrustSet
- Pathfinding, 24h volume, and non-native-XRP AMM pairs
- Versioned /api/v1/* machine API
Current limitations
- Holder / trustline pagination is incomplete when a marker remains after the analysis page limit (complete: false). Freeze inventory, holder concentration, and other set-dependent readings stay unknown — truncated pages are never treated as clear.
- Native-XRP AMM pair only. No other AMM pairs. Direct native-XRP DEX book_offers only (1%, 2%, and 5% impact from best quality). Pathfinding is not this pair's book. Incomplete or empty books stay unknown/empty — never invented liquidity.
- No Multi-Purpose Tokens (MPT).
- Mainnet classic r-address or X-address. Testnet T-addresses are invalid_id. Destination tags encoded in an X-address are reported present or absent and are never dropped. JSON-RPC uses the classic account. See XRPL.org X-addresses.
- No live Mainnet writes from this product. Cleanup candidates are review-only.
- Transaction Check does not pin a separate validated ledger for follow-up RPCs.
- Reports are snapshots; ledger state can change after checkedAt.
- No formal third-party security audit has been published.
Independent verification
This product does not host a verification portal. Re-check a report against xrpl.org (authoritative protocol explanations) and any public JSON-RPC (for example https://s1.ripple.com:51234/ or https://xrplcluster.com/) using the report's ledger pin, issuer, and currency. Those public RPC endpoints have external operators; Terry does not own them and does not eliminate third-party dependence. Inspect the same identifiers on a network-appropriate explorer. Confirm AccountRoot.Domain, then fetch https://{DOMAIN}/.well-known/xrp-ledger.toml yourself. X-addresses decode locally to a classic account plus destination tag; ledger RPCs use the classic account. See XRPL.org X-addresses and destination tags. Walk remaining account_lines markers with the XRPL.org account_lines method when pagination is incomplete. Re-check direct DEX depth with XRPL.org book_offers at the same pin for both sides of the native-XRP pair.
Full live contract: the repository README. Open a token or wallet from /check.