solana-x402-compliance
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| X402_CHANNEL_ID | Yes | x402 payment channel id | |
| X402_GATEWAY_URL | Yes | Gateway root URL |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| screen_solana_addressA | Screen a Solana wallet address in real time against sanctions and threat intelligence databases. This is the live, network-bound compliance check: it automatically negotiates and settles an x402 micro-payment, then returns the gateway's screening verdict, risk score, and any matching flags. Use this when you need an authoritative, up-to-date screening decision for an address before transacting with it. For a deterministic, offline audit record instead, use generate_compliance_report; to validate a payment itself, use verify_x402_payment. Returns a JSON object: { address, verdict ('CLEAR_TO_TRANSACT' | 'BLOCKED'), riskScore (0-100), flags[], sanctionsMatch (boolean), lastEvaluated, evaluationTimestamp }. On gateway or payment failure it returns isError with the underlying message. |
| get_channel_statusA | Retrieve the current operational status, limits, and settlement state of an x402 payment channel, identified by its channel_id. Use this as the first step of the channel lifecycle before screening an address or verifying a payment: confirm the channel is ACTIVE and has capacity so a downstream x402 micro-payment can settle. Returns a JSON object: { channelId, status ('ACTIVE'), currency ('USDC'), network ('solana-devnet'), capacity ('10000.00'), lastSettlementBlock }. A blank or malformed channel_id is rejected with a validation error. |
| generate_compliance_reportA | Generate an immutable audit summary report for a Solana wallet address or transaction signature, checked against sanctions and threat intelligence logs. Unlike screen_solana_address (a live, paid network screening), this tool is deterministic and side-effect-free: it performs no network call, settles no payment, and returns a stable audit record with a reproducible reportId. It references the current session's in-memory screening ledger: if the identifier has not been live-screened this session, it returns complianceStatus 'UNSCREENED' with a null riskScore and an empty checkedLists array. Returns a JSON audit payload: { identifier, complianceStatus ('PASSED' | 'FLAGGED' | 'UNSCREENED'), riskScore (number or null), flags (string[]), sanctionsMatch (boolean), checkedLists ([] when unscreened, otherwise ['OFAC','EU_SANCTIONS','CHAIN_REPUTATION']), lastEvaluated, evaluationTimestamp, timestamp (ISO-8601), reportId ('rpt_' + 32 hex chars, SHA-256 derived) }. A blank or malformed identifier is rejected with a validation error. |
| verify_x402_paymentA | Verify cryptographic validity and on-chain settlement state of an x402 payment proof or transaction signature. Use this to confirm that a payment proof is well-formed and whether it has been settled against a channel. Prefer screen_solana_address for sanctions/threat screening of an address; use this tool for payment proof validation. Returns a JSON object: { status ('valid' | 'settled' | 'invalid'), payerPublicKey (Base58), amountAtomicUnits (number), amount ('0.005000'), currency ('USDC'), timestamp (ISO-8601) }. status semantics: 'valid' = proof well-formed but not yet settled (no channelId); 'settled' = proof valid and settled on the supplied channelId; 'invalid' = proof is not a valid Base58 Solana address or transaction signature. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 4 tools
Each tool targets a distinct action: payment proof validation, live address screening, channel status retrieval, and offline audit report generation. The descriptions explicitly cross-reference each other to prevent confusion, especially between screen_solana_address and generate_compliance_report.
All tool names follow a consistent verb_noun snake_case pattern: verify_, screen_, get_, generate_. The verbs clearly map to each tool's purpose and the resource names are descriptive.
Four tools is well-scoped for a compliance-focused x402 server. Each tool covers a distinct part of the workflow without redundancy or bloat.
The set covers the core compliance workflow: checking channel capacity, screening an address, verifying a payment, and generating an audit report. The only minor gap is lack of explicit channel creation or management tools, but that appears outside the server's compliance scope.