Serveur MCP

powersun-tron-mcp

io.github.Hovsteder/powersun-tron-mcp
Crypto et Web3 Paiements et fintech Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Manages TRON energy and bandwidth purchases and selling pools, supports SunSwap transaction execution, and provides TRX payments, balances, and rewards management.

broadcast_signed_permission_tx
Broadcast Signed Permission Transaction
Broadcast a signed AccountPermissionUpdate transaction to the TRON blockchain. After broadcasting, verifies that the platform permissions were correctly applied. Use this after signing the transaction from build_permission_transaction. Requires authentication.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['signedTransaction', 'poolAddress'], 'properties': {'poolAddress': {'type': 'string', 'maxLength': 34, 'description': 'The pool address that the permission was granted on'}, 'signedTransaction': {'type': 'object', 'required': ['visible', 'txID', 'raw_data_hex', 'signature', 'raw_data'], 'properties': {'txID': {'type': 'string', 'pattern': '^(?:[a-fA-F0-9]{2})+$', 'maxLength': 64, 'minLength': 64}, 'visible': {'type': 'boolean'}, 'raw_data': {'type': 'object', 'required': ['contract', 'ref_block_bytes', 'ref_block_hash', 'expiration', 'timestamp'], 'properties': {'data': {'type': 'string', 'pattern': '^(?:[a-fA-F0-9]{2})+$'}, 'contract': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'parameter'], 'properties': {'type': {'type': 'string', 'const': 'AccountPermissionUpdateContract'}, 'parameter': {'type': 'object', 'required': ['type_url', 'value'], 'properties': {'value': {'type': 'object', 'required': ['owner_address'], 'properties': {'owner': {'type': 'object', 'required': ['permission_name', 'threshold', 'keys'], 'properties': {'id': {'anyOf': [{'type': 'integer', 'minimum': 0}, {'type': 'string', 'pattern': '^\\d+$'}]}, 'keys': {'type': 'array', 'items': {'type': 'object', 'required': ['address', 'weight'], 'properties': {'weight': {'$ref': '#/properties/signedTransaction/properties/raw_data/properties/contract/items/properties/parameter/properties/value/properties/owner/properties/threshold'}, 'address': {'$ref': '#/properties/signedTransaction/properties/raw_data/properties/contract/items/properties/parameter/properties/value/properties/owner_address'}}, 'additionalProperties': True}, 'minItems': 1}, 'type': {'anyOf': [{'type': 'number', 'const': 0}, {'type': 'number', 'const': 1}, {'type': 'number', 'const': 2}, {'enum': ['Owner', 'Witness', 'Active'], 'type': 'string'}]}, 'threshold': {'anyOf': [{'type': 'integer', 'exclusiveMinimum': 0}, {'type': 'string', 'pattern': '^(?=\\d*[1-9])\\d+$'}]}, 'operations': {'type': 'string', 'pattern': '^(?:[a-fA-F0-9]{2})+$', 'maxLength': 64, 'minLength': 64}, 'permission_name': {'type': 'string', 'maxLength': 100}}, 'additionalProperties': True}, 'actives': {'type': 'array', 'items': {'$ref': '#/properties/signedTransaction/properties/raw_data/properties/contract/items/properties/parameter/properties/value/properties/owner'}}, 'witness': {'$ref': '#/properties/signedTransaction/properties/raw_data/properties/contract/items/properties/parameter/properties/value/properties/owner'}, 'owner_address': {'type': 'string', 'maxLength': 42, 'minLength': 1}}, 'additionalProperties': True}, 'type_url': {'type': 'string', 'const': 'type.googleapis.com/protocol.AccountPermissionUpdateContract'}}, 'additionalProperties': True}, 'Permission_id': {'type': 'integer', 'minimum': 0}}, 'additionalProperties': True}, 'maxItems': 1, 'minItems': 1}, 'fee_limit': {'type': 'integer', 'minimum': 0}, 'timestamp': {'type': 'integer', 'minimum': 0}, 'expiration': {'type': 'integer', 'exclusiveMinimum': 0}, 'ref_block_hash': {'type': 'string', 'pattern': '^(?:[a-fA-F0-9]{2})+$', 'maxLength': 16, 'minLength': 16}, 'ref_block_bytes': {'type': 'string', 'pattern': '^(?:[a-fA-F0-9]{2})+$', 'maxLength': 4, 'minLength': 4}}, 'additionalProperties': True}, 'signature': {'type': 'array', 'items': {'type': 'string', 'pattern': '^(?:[a-fA-F0-9]{2})+$', 'maxLength': 130, 'minLength': 130}, 'minItems': 1}, 'raw_data_hex': {'type': 'string', 'pattern': '^(?:[a-fA-F0-9]{2})+$', 'maxLength': 100000}}, 'description': 'The complete signed permission transaction from tronWeb.trx.sign(), including visible, raw_data_hex, and signature', 'additionalProperties': True}}, 'additionalProperties': False}
broadcast_transaction
Broadcast Transaction
Broadcast a pre-signed TRON transaction with auto energy delegation. Send your signed transaction data and PowerSun will delegate energy before broadcasting. Works with API key (balance deduction) or x402 USDC payment. Without authentication, returns cost estimate.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['txData'], 'properties': {'txData': {'type': 'object', 'required': ['txID'], 'properties': {'txID': {'type': 'string', 'maxLength': 64}, 'raw_data': {}, 'signature': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200}}, 'raw_data_hex': {'type': 'string', 'maxLength': 100000}}, 'description': 'Pre-signed transaction object with txID, raw_data, raw_data_hex, and signature', 'additionalProperties': True}}, 'additionalProperties': False}
build_permission_transaction
Build Permission Transaction
Build an AccountPermissionUpdate transaction that grants the PowerSun platform permission to delegate/undelegate resources and optionally vote on your behalf. Returns an unsigned transaction that you must sign with your private key and then broadcast using broadcast_signed_permission_tx. All existing account permissions are preserved. Requires authentication.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['poolAddress'], 'properties': {'includeVote': {'type': 'boolean', 'description': 'Include VoteWitness permission for earning SR rewards (default: true)'}, 'poolAddress': {'type': 'string', 'maxLength': 34, 'description': 'TRON address to grant permissions on (your pool address, T-address format)'}}, 'additionalProperties': False}
buy_energy
Buy Energy
Purchase TRON Energy for a target address. Creates a MARKET order that will be filled by available pools. Deducts cost from your balance.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['targetAddress', 'txCount'], 'properties': {'txType': {'enum': ['trc20_transfer', 'trc20_transfer_new', 'trc10_transfer', 'contract_call'], 'type': 'string', 'description': 'Transaction type (default: trc20_transfer)'}, 'txCount': {'type': 'integer', 'description': 'Number of transactions you need energy for', 'exclusiveMinimum': 0}, 'resourceType': {'enum': ['ENERGY', 'BANDWIDTH'], 'type': 'string', 'description': 'Resource type (default: ENERGY)'}, 'targetAddress': {'type': 'string', 'maxLength': 34, 'description': 'TRON address to delegate energy to (T-address format)'}, 'durationMinutes': {'type': 'number', 'description': 'Duration in minutes. Allowed: 2, 5, 10, 15, 30, 60, 360, 1440, 10080, 43200. Default: 60.'}}, 'additionalProperties': False}
check_pool_permissions
Check Pool Permissions
Verify that the platform has the required active permissions on your pool address. Required: DelegateResource (to sell energy), UnDelegateResource (to reclaim). Optional: VoteWitness (to vote for SRs and earn rewards). Run this after granting permissions to confirm the platform can operate your pool. Requires API key.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'poolAddress': {'type': 'string', 'maxLength': 34, 'description': 'Pool address to check. If omitted, uses your first registered pool.'}}, 'additionalProperties': False}
configure_auto_selling
Configure Auto-Selling
Update auto-selling configuration for a pool. Toggle energy/bandwidth selling, set reserves, duration constraints. Pass the configId from get_auto_selling_config.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['configId'], 'properties': {'active': {'type': 'boolean', 'description': 'Enable/disable auto-selling'}, 'configId': {'type': 'string', 'maxLength': 36, 'description': 'Configuration ID to update (from get_auto_selling_config)'}, 'sellEnergy': {'type': 'boolean', 'description': 'Enable/disable energy selling'}, 'maxDuration': {'type': 'string', 'maxLength': 10, 'description': 'Maximum rental duration'}, 'minDuration': {'type': 'string', 'maxLength': 10, 'description': 'Minimum rental duration (e.g., "5min", "1h", "1d")'}, 'allowRenewals': {'type': 'boolean', 'description': 'Allow order renewals'}, 'sellBandwidth': {'type': 'boolean', 'description': 'Enable/disable bandwidth selling'}, 'reservedEnergy': {'type': 'integer', 'minimum': 0, 'description': 'Energy to keep reserved (not sold)'}, 'reservedBandwidth': {'type': 'integer', 'minimum': 0, 'description': 'Bandwidth to keep reserved (not sold)'}}, 'additionalProperties': False}
estimate_cost
Estimate Cost
Calculate the cost of purchasing TRON Energy or Bandwidth. Provide transaction count and type to get the energy needed and cost in TRX.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['txCount'], 'properties': {'txType': {'enum': ['trc20_transfer', 'trc20_transfer_new', 'trc10_transfer', 'contract_call'], 'type': 'string', 'description': 'Transaction type (default: trc20_transfer). trc20_transfer_new = first-time transfer to an address.'}, 'txCount': {'type': 'integer', 'description': 'Number of transactions', 'exclusiveMinimum': 0}, 'resourceType': {'enum': ['ENERGY', 'BANDWIDTH'], 'type': 'string', 'description': 'Resource type (default: ENERGY)'}, 'durationMinutes': {'type': 'number', 'description': 'Duration in minutes. Allowed: 2, 5, 10, 15, 30, 60, 360, 1440, 10080, 43200. Default: 60.'}}, 'additionalProperties': False}
execute_swap
Execute Swap
Execute a pre-signed swap transaction with automatic energy delegation. Get the unsigned TX from get_swap_quote, sign it, and submit here. Energy is delegated before broadcast. Works with API key (balance deduction) or x402 USDC payment.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['txData'], 'properties': {'txData': {'type': 'object', 'required': ['txID'], 'properties': {'txID': {'type': 'string', 'maxLength': 64}, 'raw_data': {}, 'signature': {'type': 'array', 'items': {'type': 'string', 'maxLength': 200}}, 'raw_data_hex': {'type': 'string', 'maxLength': 100000}}, 'description': 'Pre-signed swap transaction from get_swap_quote', 'additionalProperties': True}}, 'additionalProperties': False}
get_auto_action_history
Auto-Action History
View execution history of automatic actions (stake, vote, claim) for your pool. Shows status (success/failed/skipped), amounts, transaction hashes, and timestamps. Requires API key.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 100, 'minimum': 1, 'description': 'Number of records to return (default: 20, max: 100)'}, 'actionType': {'enum': ['stake', 'vote', 'claim'], 'type': 'string', 'description': 'Filter by action type'}, 'poolAddress': {'type': 'string', 'maxLength': 34, 'description': 'Pool address to get history for. If omitted, uses your first registered pool.'}}, 'additionalProperties': False}
get_auto_selling_config
Auto-Selling Config
Get current auto-selling configuration for your pools. Shows which resources are being sold, duration constraints, and reserves.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
get_available_resources
Get Available Resources
Get total available Energy and Bandwidth across all active pools. Shows how much resource can be purchased right now.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'resourceType': {'enum': ['ENERGY', 'BANDWIDTH'], 'type': 'string', 'description': 'Filter by resource type (default: both)'}, 'durationMinutes': {'type': 'number', 'description': 'Filter pools that support this duration'}}, 'additionalProperties': False}
get_balance
Get Balance
Get your current TRX balance and deposit information. Requires API key authentication.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
get_deposit_info
Get Deposit Info
Get the deposit address to top up your account balance with TRX.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
get_earnings
Get Earnings
Get earnings breakdown by pool: total earned, pending payout, paid out. Optionally filter by date range.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'endDate': {'type': 'string', 'maxLength': 30, 'description': 'End date (ISO 8601)'}, 'startDate': {'type': 'string', 'maxLength': 30, 'description': 'Start date (ISO 8601, e.g. 2026-01-01)'}}, 'additionalProperties': False}
get_market_overview
Market Overview
Comprehensive market overview: prices, availability, allowed durations, order constraints, and transaction types. Useful for agents to understand what they can purchase.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
get_onchain_status
On-Chain Pool Status
Get live blockchain state for your pool: TRX balance, frozen resources (Energy/Bandwidth), voting status, claimable rewards, and delegated resources. Data is fetched directly from TRON blockchain. Requires API key.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'poolAddress': {'type': 'string', 'maxLength': 34, 'description': 'Pool address to check. If omitted, uses your first registered pool.'}}, 'additionalProperties': False}
get_orders
Get Orders
Get your order history with optional status filter. Returns recent orders sorted by creation time.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Maximum number of orders to return (default: 20)'}, 'status': {'enum': ['pending', 'active', 'processing', 'completed', 'failed', 'cancelled', 'expired'], 'type': 'string', 'description': 'Filter by order status'}}, 'additionalProperties': False}
get_order_status
Get Order Status
Get detailed status of a specific order including delegation progress.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['orderId'], 'properties': {'orderId': {'type': 'string', 'maxLength': 36, 'description': 'Order ID (UUID format)'}}, 'additionalProperties': False}
get_pool_delegations
Pool Delegations
Get active delegations from your pools. Shows who received energy/bandwidth and when delegations expire.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'poolAddress': {'type': 'string', 'maxLength': 34, 'description': 'Filter by specific pool address. If not provided, shows all your pools.'}}, 'additionalProperties': False}
get_pool_stats
Pool Statistics
Get comprehensive statistics for your energy/bandwidth pools: delegations, revenue, utilization, APY. Requires API key.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}, 'additionalProperties': False}
get_prices
Get Current Prices
Get current TRON Energy and Bandwidth minimum prices for all duration tiers. Returns price per unit in SUN for each available duration.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'resourceType': {'enum': ['ENERGY', 'BANDWIDTH'], 'type': 'string', 'description': 'Filter by resource type (default: all)'}}, 'additionalProperties': False}
get_swap_quote
Get Swap Quote
Get a price quote and unsigned transaction for swapping tokens on SunSwap DEX. Returns an unsigned TX for client-side signing. After signing, submit via execute_swap. Requires API key.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['fromToken', 'toToken', 'amountIn'], 'properties': {'toToken': {'type': 'string', 'maxLength': 34, 'description': 'Token to buy â\x80\x94 symbol or TRC-20 contract address'}, 'amountIn': {'type': 'string', 'description': 'Amount to swap in smallest unit (SUN for TRX, base units for tokens)'}, 'fromToken': {'type': 'string', 'maxLength': 34, 'description': 'Token to sell â\x80\x94 symbol (USDT, TRX, SUN, ...) or TRC-20 contract address'}, 'slippageBps': {'type': 'integer', 'maximum': 5000, 'minimum': 1, 'description': 'Slippage tolerance in basis points (default: 50 = 0.5%)'}}, 'additionalProperties': False}
register
Register Agent
Start agent registration by providing your TRON address. Returns a challenge string that you must sign with your TRON private key using tronWeb.trx.signMessageV2(). After signing, call verify_registration with the signature to receive your API key. No authentication required.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['address'], 'properties': {'address': {'type': 'string', 'maxLength': 34, 'description': 'Your TRON wallet address (T-address format, 34 characters)'}}, 'additionalProperties': False}
register_pool
Register Selling Pool
Register a TRON address as an energy/bandwidth selling pool on PowerSun. This creates a pool and auto-selling configuration. After registering, you must grant active permissions to the platform address (DelegateResource, UnDelegateResource, VoteWitness) so the platform can delegate resources to buyers and vote on your behalf. Use check_pool_permissions to verify permissions after granting them. Requires API key.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['paymentAddress'], 'properties': {'autoVote': {'type': 'boolean', 'default': True, 'description': 'Auto-vote for the best Super Representative to earn rewards (default: true)'}, 'sellEnergy': {'type': 'boolean', 'default': True, 'description': 'Enable energy selling (default: true)'}, 'sellBandwidth': {'type': 'boolean', 'default': False, 'description': 'Enable bandwidth selling (default: false)'}, 'paymentAddress': {'type': 'string', 'maxLength': 34, 'description': 'TRON address to register as pool (starts with T, 34 characters). This is the address where you hold/stake TRX.'}}, 'additionalProperties': False}
trigger_vote
Vote for SR
Vote for the best Super Representative (SR) with the highest APY to earn voting rewards. The platform automatically selects the SR with the best return. Requires VoteWitness permission granted to the platform. Voting rewards accumulate and can be claimed automatically if auto-claim is enabled. Requires API key.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'poolAddress': {'type': 'string', 'maxLength': 34, 'description': 'Pool address to vote from. If omitted, uses your first registered pool.'}}, 'additionalProperties': False}
verify_registration
Verify Registration
Complete agent registration by verifying your signed challenge. Returns an API key and upgrades the current session to authenticated. After verification, all authenticated tools (buy_energy, get_balance, register_pool, etc.) will work in this session without needing to reconnect. No authentication required.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['challengeId', 'address', 'signature'], 'properties': {'address': {'type': 'string', 'maxLength': 34, 'description': 'Your TRON wallet address (must match the register call)'}, 'signature': {'type': 'string', 'maxLength': 200, 'description': 'Signature from tronWeb.trx.signMessageV2(challenge, privateKey)'}, 'challengeId': {'type': 'string', 'maxLength': 50, 'description': 'Challenge ID from the register tool'}}, 'additionalProperties': False}
withdraw_earnings
Withdraw Earnings
Withdraw TRX from your account balance to your wallet. Minimum withdrawal: 100 TRX. Withdrawal is processed on-chain and may take a few minutes.
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['amount'], 'properties': {'amount': {'type': 'number', 'description': 'Amount to withdraw in TRX (minimum 100 TRX)', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
Modifié
broadcast_signed_permission_tx
27 September 2026 02:40
Modifié
get_auto_selling_config
27 September 2026 02:40
Modifié
get_pool_stats
27 September 2026 02:40
Modifié
get_deposit_info
27 September 2026 02:40
Modifié
get_balance
27 September 2026 02:40
Modifié
get_market_overview
27 September 2026 02:40
Ajouté
broadcast_signed_permission_tx
17 September 2026 12:42
Ajouté
build_permission_transaction
17 September 2026 12:42
Ajouté
verify_registration
17 September 2026 12:42
Ajouté
register
17 September 2026 12:42
Ajouté
get_auto_action_history
17 September 2026 12:42
Ajouté
trigger_vote
17 September 2026 12:42
Ajouté
check_pool_permissions
17 September 2026 12:42
Ajouté
get_onchain_status
17 September 2026 12:42
Ajouté
register_pool
17 September 2026 12:42
Ajouté
withdraw_earnings
17 September 2026 12:42
Ajouté
get_pool_delegations
17 September 2026 12:42
Ajouté
configure_auto_selling
17 September 2026 12:42
Ajouté
get_auto_selling_config
17 September 2026 12:42
Ajouté
get_earnings
17 September 2026 12:42
Ajouté
get_pool_stats
17 September 2026 12:42
Ajouté
execute_swap
17 September 2026 12:42
Ajouté
get_swap_quote
17 September 2026 12:42
Ajouté
get_deposit_info
17 September 2026 12:42
Ajouté
get_order_status
17 September 2026 12:42
Ajouté
get_orders
17 September 2026 12:42
Ajouté
broadcast_transaction
17 September 2026 12:42
Ajouté
buy_energy
17 September 2026 12:42
Ajouté
get_balance
17 September 2026 12:42
Ajouté
get_market_overview
17 September 2026 12:42

SAP MCP Server

ai.oobeprotocol.sap.mcp/sap-mcp

Provides an MCP gateway connecting SAP-related tools with Solana, DeFi, decentralized identity, and x402 payments.

FortFi Treasury MCP

io.github.rebelArtists/fortfi-treasury-mcp

Provides policy-controlled crypto treasury operations across chains, including wallets, payments, token discovery, swaps, bridges…

DPX — Institutional Cross-Border Settlement

io.github.untitledfinancial/dpx

Provides compliance-gated cross-border crypto settlement, agent registration and spending mandates, stablecoin routing, ESG and s…

Peer

io.github.zkp2p/peer

Reads Peer protocol, checkout, deposit, wallet, Peer Cash, cross-chain routing, payout, and IntentGuardian data on Base and relat…

Robyn — Gasless Cross-Chain for AI Agents

io.github.ox31461/robyn

Supports gasless cross-chain transfers, wallet and transaction checks, spending mandates, privacy-preserving messaging, and signe…

MERX - TRON Resource Exchange

exchange.merx/mcp

Manages TRON energy and bandwidth purchasing, resource monitoring, transaction cost estimation, wallet operations, token transfer…

Wisely x402 Agent-Payment Infrastructure

com.wiselyenterprisesllc/x402-agent-payment-infrastructure

Provides agent payment workflows for x402 endpoints, wallet handoffs, receipts, creator catalogs, local commerce bridges, endpoin…

AgentTools Hub

io.github.Thyphex/agenttools-hub

Offers calculators, unit and data converters, reference lookups, live crypto data, wallet utilities, and paid x402 access.