{"audit":{"version":"1.5","generated_at":"2026-11-01T07:38:01.769638+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/api.criptonlabs.com","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"api.criptonlabs.com","name":"Criptonlabs Agent APIs","url":"https://api.criptonlabs.com/.well-known/agent-card.json"}},"identity":{"provider":{"organization":"Criptonlabs","url":"https://criptonlabs.com"},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":"1.0","supports_streaming":false,"supports_push_notifications":false},"operational":{"live_state":"live","live_responds":true,"last_status_code":200,"last_elapsed_ms":69,"last_error":null},"track_record":{"first_seen":"2026-11-01T05:04:30.674001+00:00","last_checked":"2026-11-01T05:04:30.674001+00:00","last_seen_ok":"2026-11-01T05:04:30.674001+00:00","checks_total":1,"checks_ok":1,"uptime_pct":100.0,"uptime_window_days":30,"uptime_probes":1,"archived":false,"archived_reason":null},"conformance":{"score":65,"grade":"C","summary":"C-grade: usable but has clear conformance issues, review the breakdown below.","criteria":[{"key":"valid_card","label":"Valid AgentCard","points":10,"max_points":10,"status":"pass","detail":"Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification)."},{"key":"live_responds","label":"Live JSON-RPC","points":25,"max_points":25,"status":"pass","detail":"Endpoint responds to a negotiated A2A SendMessage probe (answers in ~57 ms)."},{"key":"protocol_version","label":"Protocol version","points":10,"max_points":10,"status":"pass","detail":"Declares A2A 1.0 with supportedInterfaces[] (current v1 card shape)."},{"key":"signature","label":"JWS signature","points":0,"max_points":10,"status":"info","detail":"Card is unsigned (most published agents are)."},{"key":"uptime","label":"Uptime track record","points":0,"max_points":15,"status":"info","detail":"Only 1 probe so far, need ≥5 for an uptime grade."},{"key":"skills","label":"Skill declaration","points":10,"max_points":10,"status":"pass","detail":"Declares 16 skills with structured metadata."},{"key":"verified_identity","label":"Verified Identity","points":5,"max_points":10,"status":"partial","detail":"Provider declared: Criptonlabs (https://criptonlabs.com). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit."},{"key":"freshness","label":"Freshness + modern flags","points":5,"max_points":5,"status":"pass","detail":"declares 1 modern capability flag(s) (x402); seen in upstream source within 0d"},{"key":"security","label":"Security declaration","points":0,"max_points":5,"status":"info","detail":"Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated."}]},"card_read":{"findings":[],"clean":true,"source_url":"https://api.criptonlabs.com/.well-known/agent-card.json"},"skills":[{"id":"xrpl_fee","name":"Fee intelligence","description":"Current XRPL fee tiers in drops with a congestion score. When to use: Before submitting a transaction, to choose a `Fee` and to decide whether the network is congested. Prefer another tool: Not a price feed and not a historical series; it describes the latest validated ledger only. Example: xrpl_fee {}","tags":["xrpl","read-only","no-auth","agent-native","fee-intelligence","congestion","pre-payment-check"],"examples":["Use xrpl_fee {}"],"inputModes":[],"outputModes":[]},{"id":"xrpl_latest_ledger","name":"Latest ledger","description":"Latest validated ledger index, hash and close time. When to use: To anchor other readings to a ledger or to check how current the network view is. Prefer another tool: Not for transaction data or account state; use the account endpoint for those. Example: xrpl_latest_ledger {}","tags":["xrpl","read-only","no-auth","agent-native","ledger","freshness"],"examples":["Use xrpl_latest_ledger {}"],"inputModes":[],"outputModes":[]},{"id":"xrpl_network_health","name":"Network health","description":"Overall and per-node health of the upstream XRPL nodes. When to use: To decide whether to trust or retry data, or to explain a 503 from another endpoint. Prefer another tool: Not a probe of your own connectivity; it reports the service's upstream nodes. Example: xrpl_network_health {}","tags":["xrpl","read-only","no-auth","agent-native","network-health","pre-payment-check"],"examples":["Use xrpl_network_health {}"],"inputModes":[],"outputModes":[]},{"id":"xrpl_orderbook","name":"Funded order book","description":"CLOB order book for a currency pair with unfunded offers removed. When to use: To read executable liquidity for a pair on the XRPL central limit order book (CLOB). Prefer another tool: Not for AMM liquidity (use the amm page) and not for a cost estimate (use the slippage page). Example: xrpl_orderbook {\"base\":\"XRP\",\"quote\":\"USD.rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\"}","tags":["xrpl","read-only","no-auth","agent-native","orderbook","funded-orderbook"],"examples":["Use xrpl_orderbook {\"base\":\"XRP\",\"quote\":\"USD.rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\"}"],"inputModes":[],"outputModes":[]},{"id":"xrpl_slippage","name":"Slippage estimate","description":"Slippage and average price for buying an amount of base currency. When to use: Before placing a market-style trade, to size it against available depth and to see whether the CLOB or the AMM pool is the cheaper venue. Prefer another tool: It is an estimate, not a quote, and it does not split an amount across venues or route through other pairs. To read pool reserves, use the amm page. Example: xrpl_slippage {\"base\":\"XRP\",\"quote\":\"USD.rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\",\"amount\":\"1000\"}","tags":["xrpl","read-only","no-auth","agent-native","slippage","clob-vs-amm"],"examples":["Use xrpl_slippage {\"base\":\"XRP\",\"quote\":\"USD.rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\",\"amount\":\"1000\"}"],"inputModes":[],"outputModes":[]},{"id":"xrpl_amm","name":"AMM pool","description":"AMM pool reserves and trading fee for an asset pair. When to use: To read AMM pool depth and fee for a pair. Prefer another tool: It does not estimate slippage or compare venues (use the slippage page for the CLOB vs AMM comparison); a pair without a pool returns 404. Example: xrpl_amm {\"a\":\"XRP\",\"b\":\"USD.rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\"}","tags":["xrpl","read-only","no-auth","agent-native","amm"],"examples":["Use xrpl_amm {\"a\":\"XRP\",\"b\":\"USD.rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\"}"],"inputModes":[],"outputModes":[]},{"id":"xrpl_account_summary","name":"Account summary","description":"XRP balance, sequence, owner count, transfer rate and trust lines (capped) for an account. When to use: To inspect an account before building a transaction for it. Prefer another tool: Not for transaction history, reserves or account flags; it is a summary, not a full account dump. Example: xrpl_account_summary {\"address\":\"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\"}","tags":["xrpl","read-only","no-auth","agent-native","account","trust-lines","pre-payment-check"],"examples":["Use xrpl_account_summary {\"address\":\"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\"}"],"inputModes":[],"outputModes":[]},{"id":"xrpl_account_lines","name":"Account trust lines","description":"One page of an account's trust lines, with an opaque cursor for the next page. When to use: To list every trust line of an account (balances, limits, freeze and authorization flags), page by page. Prefer another tool: For a quick capped overview with the XRP balance, use `/v1/xrpl/account/{address}/summary`; for issued totals of a token, use the token endpoint. Example: xrpl_account_lines {\"address\":\"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\"}","tags":["xrpl","read-only","no-auth","agent-native","account","trust-lines"],"examples":["Use xrpl_account_lines {\"address\":\"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\"}"],"inputModes":[],"outputModes":[]},{"id":"xrpl_account_transactions","name":"Account transactions","description":"One page of an account's most recent validated transactions, newest first. When to use: To check what an account did recently (payments sent or received, offers, trust line changes) and whether each transaction succeeded. Prefer another tool: For balances and trust lines, use `/v1/xrpl/account/{address}/summary` or `/v1/xrpl/account/{address}/lines`; for full archival history, use a full-history node or indexer: history depth depends on the serving node and older pages may be slower. Example: xrpl_account_transactions {\"address\":\"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\"}","tags":["xrpl","read-only","no-auth","agent-native","account","transactions"],"examples":["Use xrpl_account_transactions {\"address\":\"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\"}"],"inputModes":[],"outputModes":[]},{"id":"xrpl_token","name":"Token issuer","description":"Issuer data for an issued asset: flags, domain, transfer fee and total issued. When to use: Before accepting or sending an issued token: check that the issuer exists, is not frozen, whether holders need authorization, and the transfer fee charged on every transfer between non-issuer accounts. Prefer another tool: For XRP (not an issued asset; 400), for one account's own balances use `/v1/xrpl/account/{address}/lines`, and for prices use `/v1/xrpl/orderbook` or `/v1/xrpl/amm/{a}/{b}`. Example: xrpl_token {\"asset\":\"USD.rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\"}","tags":["xrpl","read-only","no-auth","agent-native","token","issuer"],"examples":["Use xrpl_token {\"asset\":\"USD.rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\"}"],"inputModes":[],"outputModes":[]},{"id":"xrpl_payment_readiness","name":"Payment readiness","description":"Pre-payment check: can this payment from source to destination succeed now? When to use: Right before sending a payment: to catch a missing or unfunded destination, a required destination tag, deposit authorization, missing or frozen trust lines, insufficient balance and issuer freezes, in one call. Prefer another tool: To find a multi-hop route or the source amount needed for a cross-currency payment (use the paths endpoint), or to list balances (use `/v1/xrpl/account/{address}/summary`). Example: xrpl_payment_readiness {\"source\":\"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\",\"destination\":\"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B\"}","tags":["xrpl","read-only","no-auth","agent-native","pre-payment-check","payment-readiness"],"examples":["Use xrpl_payment_readiness {\"source\":\"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\",\"destination\":\"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B\"}"],"inputModes":[],"outputModes":[]},{"id":"xrpl_paths","name":"Payment paths","description":"Multi-hop payment paths and their source cost. When to use: Before a cross-currency or multi-hop payment: to see whether a route exists and how much the source would spend to deliver the amount. A call can take up to about 20 seconds and paths may be non-optimal. Prefer another tool: To check whether a direct payment can succeed (use `/v1/xrpl/payment-readiness`), or for the single-hop cost of a trade on one pair (use `/v1/xrpl/slippage`, which compares the order book and the AMM). Example: xrpl_paths {\"source\":\"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\",\"destination\":\"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B\",\"asset\":\"XRP\",\"amount\":\"1\"}","tags":["xrpl","read-only","no-auth","agent-native","pathfinding","pre-payment-check"],"examples":["Use xrpl_paths {\"source\":\"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\",\"destination\":\"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B\",\"asset\":\"XRP\",\"amount\":\"1\"}"],"inputModes":[],"outputModes":[]},{"id":"solana_transfer_readiness","name":"Solana transfer readiness","description":"Will this Solana transfer succeed? A verdict for SOL or an SPL or Token-2022 token. When to use: Before building or signing a Solana transfer, to learn whether it will fail and what it will cost in rent and fees. Prefer another tool: Not a simulation of the exact transaction (no priority fee, no program logic), not a token price or holder lookup, and not a way to read raw accounts. Example: solana_transfer_readiness {\"source\":\"83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri\",\"destination\":\"A1TMhSGzQxMr1TboBKtgixKz1sS6REASMxPo1qsyTSJd\",\"mint\":\"SOL\",\"amount\":\"0.5\"}","tags":["solana","read-only","no-auth","agent-native","pre-payment-check","payment-readiness","rent"],"examples":["Use solana_transfer_readiness {\"source\":\"83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri\",\"destination\":\"A1TMhSGzQxMr1TboBKtgixKz1sS6REASMxPo1qsyTSJd\",\"mint\":\"SOL\",\"amount\":\"0.5\"}"],"inputModes":[],"outputModes":[]},{"id":"solana_token","name":"Solana token verdict","description":"Is this Solana token safe to hold or receive? A SAFE, WARN or DANGER verdict. When to use: Before accepting or swapping into an unfamiliar token, to see whether its mint can freeze, mint more, move or tax balances. Prefer another tool: Not a price, liquidity or holder lookup and not an audit of the token's project; it reads only the mint account. Example: solana_token {\"mint\":\"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\"}","tags":["solana","read-only","no-auth","agent-native","token","token-safety","spl-token","token-2022"],"examples":["Use solana_token {\"mint\":\"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v\"}"],"inputModes":[],"outputModes":[]},{"id":"solana_latest_slot","name":"Solana latest slot","description":"Latest finalized Solana slot and its block time. When to use: To check how fresh the finalized view of Solana is, or to anchor a read to a slot. Prefer another tool: Not a tip-of-chain feed: it is finalized, not processed or confirmed, and it is cached for 2 seconds. Example: solana_latest_slot {}","tags":["solana","read-only","no-auth","agent-native","slot","freshness"],"examples":["Use solana_latest_slot {}"],"inputModes":[],"outputModes":[]},{"id":"solana_network_health","name":"Solana data status","description":"Whether Solana data is currently being served: latest probe status and finalized slot. When to use: Before relying on the Solana verdict endpoints, or to explain a 503 from them. Prefer another tool: Not a measure of the Solana network itself, only of this service's access to it; use the latest-slot endpoint to see chain progress. Example: solana_network_health {}","tags":["solana","read-only","no-auth","agent-native","network-health","pre-payment-check"],"examples":["Use solana_network_health {}"],"inputModes":[],"outputModes":[]}],"provenance":[{"source":"manifests","first_seen":"2026-11-01T05:04:30.674001+00:00"}],"recent_probes":[{"fetched_at":"2026-11-01T05:04:30.674001+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":69,"live_responds":true}],"catalog_attestation":null,"operator_revenue_evidence":{"evidence_class":"operator_submitted","authenticity":{"rung":"no_operator_evidence","rank":0,"why":"No verifiable operator evidence has been submitted for this agent.","thresholds":{"min_independent_payers":3,"min_verified_usd":25.0},"engine_table":"agent_authenticity","merge_rule":"max(existing_rank, rank)"},"metric_metadata":{"provenance":"operator_submitted_evidence","confidence":"attested","coverage":{"numerator":0},"as_of":"2026-11-01T07:38:01.790053+00:00","definition":"Revenue proofs submitted by the verified owner and re-checked by Agenstry against the settlement chain or the operator's own Stripe account. Only independently confirmed proofs are counted."},"counts":{"retained":0,"verified":0,"unverifiable":0},"verified":{"gross_usd":0.0,"transactions":0,"independent_payers":0},"detail_url":"https://agenstry.com/api/agents/api.criptonlabs.com/evidence","dispute_url":"https://agenstry.com/agents/api.criptonlabs.com/dispute"},"verification_history":[],"signatures":[{"protected":"eyJhbGciOiJFUzI1NiIsImprdSI6Imh0dHBzOi8vYWdlbnN0cnkuY29tLy53ZWxsLWtub3duL2p3a3MuanNvbiIsImtpZCI6ImFnZW50ZmluZGVyLWVzMjU2LTEiLCJ0eXAiOiJKT1NFIn0","signature":"zmF4becALrZywVHOuwVsTADreffGYxI_rzDIVlRByWXBCyGk0_wAML085OnsgMgUJbtPXdALGeg30u5IUjk8qw"}]}