Brük — verified XRP Ledger answers
by brukledger.com · remote · no sign-in to list tools · v0.8.0 · published by com.brukledger
Verified XRP Ledger answers with proof: payment, send, and issuer checks. Pay per call via x402.
14 tools: 6 do something that can't be undone, 6 change things and 2 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone6Claude Code: ask: see these tools
- Changes things6Claude Code: ask: see these tools
- Only reads2Claude Code: allow: see these tools
6 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http bruk https://bruk-agent-api.fly.dev/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnpayment_check
The server marks "payment_check" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "payment_check" says "payment": a word that usually means money moves, which cannot be taken back.
- Warnlarge_payments
The server marks "large_payments" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "large_payments" says "payment": a word that usually means money moves, which cannot be taken back.
- Warnsend_check
The server marks "send_check" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "send_check" says "send": a word for sending, and what is sent cannot be taken back.
- Warnreceipt_card
The server marks "receipt_card" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The input carries an amount (input.amount) and a currency, so it moves money.
- Warnfree_send_check
The server marks "free_send_check" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "free_send_check" says "send": a word for sending, and what is sent cannot be taken back.
- Warntoken_types
The server marks "token_types" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "token_types" says "type": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
14 tools
Can't be undone 6Claude Code: ask
free_send_checkFree, one per user per day.1 finding
Why it is in this group
- The name "free_send_check" says "send": a word for sending, and what is sent cannot be taken back.
- The input carries an amount (input.amount) and a currency, so it moves money.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "free_send_check" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "free_send_check" says "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Free, one per user per day. Before sending XRP or a token on the XRP Ledger: will the payment fail (missing destination tag, unfunded or deleted account, no trust line, wrong issuer) and what should you double-check? Returns the verdict, blockers, and cautions from a validated ledger. The paid send_check adds the full evidence and has no daily limit.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
large_paymentsLists large XRP Ledger payments (50,000+ XRP or major stablecoins) in a recent window of up to 120 minutes, each independently re-checked on the ledger, with an explicit note when …1 finding
Why it is in this group
- The name "large_payments" says "payment": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "large_payments" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "large_payments" says "payment": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Lists large XRP Ledger payments (50,000+ XRP or major stablecoins) in a recent window of up to 120 minutes, each independently re-checked on the ledger, with an explicit note when the window is not fully covered. Useful for market and liquidity monitoring. The first call each day returns the real answer without payment. After that, about $0.02 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
payment_checkVerifies that an XRP Ledger payment settled as expected: validation, result code, destination, destination tag, currency, issuer, and the amount actually delivered, which exposes p…1 finding
Why it is in this group
- The name "payment_check" says "payment": a word that usually means money moves, which cannot be taken back.
- The input carries an amount (input.amount) and a currency, so it moves money.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "payment_check" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "payment_check" says "payment": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Verifies that an XRP Ledger payment settled as expected: validation, result code, destination, destination tag, currency, issuer, and the amount actually delivered, which exposes partial-payment tricks. Useful when confirming that a customer or counterparty really paid. The first call each day returns the real answer without payment. After that, about $0.01 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
payment_watchPayment arrival alert: watches an XRP Ledger address for up to 24 hours and POSTs a signed webhook when a matching payment is final (validated, tesSUCCESS, delivered amount checked…No findings
Why it is in this group
- The name "payment_watch" says "payment": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Payment arrival alert: watches an XRP Ledger address for up to 24 hours and POSTs a signed webhook when a matching payment is final (validated, tesSUCCESS, delivered amount checked), or a watch.expired event if none arrives. Payments that land during restarts are still caught. Useful when waiting on an incoming payment without polling. The first call each day returns the real answer without payment. After that, about $0.05 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.
Annotations the server declares
- readOnlyHint: false
- openWorldHint: true
receipt_cardVerified payment receipt image (1200x675 PNG) for an XRP Ledger payment, drawn only from the validated ledger: delivered amount, sender, recipient, destination tag, ledger, close t…1 finding
Why it is in this group
- The input carries an amount (input.amount) and a currency, so it moves money.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "receipt_card" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The input carries an amount (input.amount) and a currency, so it moves money.
Description, as the server wrote it Verified payment receipt image (1200x675 PNG) for an XRP Ledger payment, drawn only from the validated ledger: delivered amount, sender, recipient, destination tag, ledger, close time, result, optional expectation checks, and a QR code to the public explorer. Only final outcomes are drawn; not-found or unvalidated transactions are not charged. Useful for showing a person proof that a payment arrived. The first call each day returns the real answer without payment. After that, about $0.02 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
send_checkPre-send check for an XRP Ledger payment: whether the destination is activated, requires a destination tag, blocks or pre-approves senders, can hold the token (trust line, or MPT o…1 finding
Why it is in this group
- The name "send_check" says "send": a word for sending, and what is sent cannot be taken back.
- The description says "irreversible".
- The input carries an amount (input.amount) and a currency, so it moves money.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "send_check" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "send_check" says "send": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Pre-send check for an XRP Ledger payment: whether the destination is activated, requires a destination tag, blocks or pre-approves senders, can hold the token (trust line, or MPT opt-in and issuer approval), is blackholed, and whether the source can afford it. For a multi-purpose token, pass mpt_issuance_id instead of currency and issuer. Returns ok_to_send, send_with_caution, or will_fail with reasons. Useful before any irreversible XRP Ledger payment. The first call each day returns the real answer without payment. After that, about $0.005 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
Changes things 6Claude Code: ask
issuer_checkChecks whether an XRP Ledger token issuer is who it claims to be: two-way domain verification (on-ledger Domain field against the domain's xrp-ledger.toml), tokens issued and outst…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Checks whether an XRP Ledger token issuer is who it claims to be: two-way domain verification (on-ledger Domain field against the domain's xrp-ledger.toml), tokens issued and outstanding, and control flags such as freeze, clawback, blackholed, and multisign. Useful before accepting or holding a token. The first call each day returns the real answer without payment. After that, about $0.01 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
learn_about_brukFree.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Free. Brük's site, its short film about the XRP Ledger (chapters, transcript, captions), and the credit line for quoting it.
Annotations the server declares
- readOnlyHint: true
ledger_momentLedger moment image (1200x675 PNG): one validated XRP Ledger ledger drawn as one tile per transaction in ledger order, colored by type (payments, DEX offers, trust lines, AMM, NFTs…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Ledger moment image (1200x675 PNG): one validated XRP Ledger ledger drawn as one tile per transaction in ledger order, colored by type (payments, DEX offers, trust lines, AMM, NFTs, other), failed transactions hollow, with counts, fees burned, XRP supply, and the ledger hash. Latest validated ledger by default. Useful for posts, reports, and newsletters about network activity. The first call each day returns the real answer without payment. After that, about $0.02 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
ledger_pulseXRP Ledger network health right now: latest validated ledger, close time, transactions and payments in it, fee levels, load, and rolling averages cross-checked against a direct led…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it XRP Ledger network health right now: latest validated ledger, close time, transactions and payments in it, fee levels, load, and rolling averages cross-checked against a direct ledger read. Useful before submitting XRP Ledger transactions or when reporting current network conditions. The first call each day returns the real answer without payment. After that, about $0.001 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
token_checkIdentifies one XRP Ledger token from the validated ledger: a trust-line token (currency code plus issuer) or a multi-purpose token (48-hex issuance id).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Identifies one XRP Ledger token from the validated ledger: a trust-line token (currency code plus issuer) or a multi-purpose token (48-hex issuance id). Reports the type, issuer domain check, supply, and controls that can freeze, lock, claw back, or restrict holders. Issuer-written metadata is quoted and is not treated as fact; a missing asset class is reported missing. Does not check other chains, and does not rate legal backing or solvency. Useful before accepting an MPT or any other token. The first call each day returns the real answer without payment. After that, about $0.01 via x402 (USDC on Base, or XRP / RLUSD on the XRP Ledger). A payment watch is paid from the first call. Bad input and ledger outages are never charged.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
token_typesFree guide, not a live check.1 finding
Why it is in this group
- The name "token_types" says "type": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "token_types" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "token_types" says "type": a word for a change.
Description, as the server wrote it Free guide, not a live check. Which XRP Ledger token types Brük can identify, how to pass an MPT issuance id, and which other chains Brük does not read.
Annotations the server declares
- readOnlyHint: true
Only reads 2Claude Code: allow
get_sampleFree.No findings
Why it is in this group
- The name "get_sample" says "get": a word for reading.
Description, as the server wrote it Free. Returns a recent real answer from a Brük service (cached up to 5 minutes) so you can see the format before paying.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
list_servicesFree.No findings
Why it is in this group
- The name "list_services" says "list": a word for reading.
Description, as the server wrote it Free. Lists every Brük service with price, inputs, and its HTTP endpoint.
Annotations the server declares
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.8.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http bruk https://bruk-agent-api.fly.dev/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__bruk__list_services",
"mcp__bruk__get_sample"
],
"ask": [
"mcp__bruk__ledger_pulse",
"mcp__bruk__payment_check",
"mcp__bruk__issuer_check",
"mcp__bruk__token_check",
"mcp__bruk__large_payments",
"mcp__bruk__send_check",
"mcp__bruk__payment_watch",
"mcp__bruk__receipt_card",
"mcp__bruk__ledger_moment",
"mcp__bruk__free_send_check",
"mcp__bruk__token_types",
"mcp__bruk__learn_about_bruk"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as bruk. Review it before you use it.