Skip to main content
Reins now has a read-only exposure inspector. You can inspect delegated permissions, allowance funds and contingent refill caps without loading a wallet or signing a transaction. It reads account, object and fee data at one validated ledger hash and returns exact XRP amounts as integer-drop strings.
Published in Reins 0.0.3 on November 9, 2026. All four npm package versions and tarball integrities were verified against the checked release artifacts. All 146 offline tests, the build, a fresh registry installation, runtime checks and strict TypeScript checks passed. Testnet alpha. No external security review.

Use the published CLI

With Node.js 22.12 or later and your existing testnet policy:
No wallet file is needed. The command reads public ledger state and returns a nonzero exit status for incomplete coverage or delegated-permission drift.

Run the copyable implementation

You need Node.js 22.12 or later and an existing testnet reins.yaml containing your account addresses. This guide does not create or fund accounts. Install the already-published dependency and runner in a new local project:
Copy the implementation at the end of this page into inspect.ts. Save this runner as run-inspect.mts:
The runner makes public read requests only. It has no seed, wallet loading, autofill or submission call. Offline tests and an offline synthetic example have passed; this new inspector has not yet been checked against a live RPC endpoint.

CLI from an updated source checkout

If you already have the updated Reins source checkout, build and run:
The command accepts --endpoint for an endpoint override. It does not accept a wallet file. Exit status is nonzero when coverage is incomplete or delegated permissions differ from policy intent. The policyMatches field covers those permissions, not comprehensive policy verification. Use verify for the existing policy comparison workflow.

Read the result

The report has schemaVersion: 1, snapshot provenance, account roles, live permissions, exposure, findings and limitations. Its exposure fields are decimal strings in drops, or null when unknown: A synthetic offline fixture with 3 XRP spendable, a 5 XRP refill cap and 1.5 XRP on the agent reports 8 XRP of scoped reachable allowance exposure. These are fixture values, not live ledger evidence. Agent funds remain separate.

Understand incomplete coverage

complete: true means the supported observation scope was covered. It does not mean safe, policy-compliant or independently verified. null is unknown, not zero. This first inspector is XRP-only. Unsupported issued assets, escrow permissions, signing topologies, sponsorship, extra delegates and unsupported ledger objects return incomplete coverage. The starter policy includes EscrowFinish, so it can legitimately produce an incomplete report. Do not remove an operational permission merely to obtain a complete report. Expired refill Checks are excluded using snapshot ledger time. Refill caps are contingent, not reserved funds. Their conservative estimate is capped by the current vault balance; actual cashable funds can be lower. Future funding and later ledger changes are excluded. Network identity is declared by policy rather than independently established from the endpoint. Ledger permissions and balances are observed state. The exposure calculation is Reins toolkit interpretation. Independent per-payment, payee and rolling-velocity co-signer rules remain planned. Read enforcement before relying on the account model.

Copyable implementation

This is the reviewed XRP-only inspector source, with its policy type import adjusted to the published package. It performs read requests only. Save the complete block as inspect.ts.