You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -203,6 +244,7 @@ export function registerPaymentTools(server: McpServer): void {
203
244
method: z.enum(['GET','POST','PUT','DELETE','PATCH']).optional().describe('HTTP method. Defaults to "GET".'),
204
245
body: z.string().max(100_000).optional().describe('Request body for POST/PUT/PATCH requests (JSON string, max 100KB).'),
205
246
maxAmount: z.string().max(32).optional().describe('Maximum USDC amount willing to pay (e.g., "5.00"). Rejects if service costs more.'),
247
+
smartAccount: z.string().optional().describe('Smart account to pay from. Use "#1", "#2", etc. (index from azeth_accounts) or a full address. Defaults to your first smart account.'),
206
248
}),
207
249
},
208
250
async(args)=>{
@@ -216,6 +258,12 @@ export function registerPaymentTools(server: McpServer): void {
@@ -353,12 +401,20 @@ export function registerPaymentTools(server: McpServer): void {
353
401
maxAmount: z.string().max(32).optional().describe('Maximum USDC amount willing to pay per service (e.g., "1.00"). Rejects if service costs more.'),
354
402
minReputation: z.coerce.number().min(0).max(100).optional().describe('Minimum reputation score (0-100) to consider. Services below this are excluded.'),
355
403
autoFeedback: z.boolean().optional().describe('Automatically submit a reputation opinion after payment based on service quality. Defaults to false.'),
404
+
smartAccount: z.string().optional().describe('Smart account to pay from. Use "#1", "#2", etc. (index from azeth_accounts) or a full address. Defaults to your first smart account.'),
'0x24831e77': {name: 'ExecutorSpendExceedsLimit',description: 'Payment amount exceeds the guardian daily spend limit.',suggestion: 'Check your limits with azeth_get_guardrails. Wait until tomorrow or increase the daily limit via the guardian.'},
42
49
43
50
// PaymentAgreementModule
44
51
'0x95a68634': {name: 'SelfAgreement',description: 'Cannot create a payment agreement with yourself.'},
45
-
'0xf84835a0': {name: 'TokenNotWhitelisted',description: 'The token is not in the guardian whitelist. Add it via setTokenWhitelist.'},
52
+
'0xf84835a0': {name: 'TokenNotWhitelisted',description: 'The token is not in the guardian whitelist.',suggestion: 'Use azeth_whitelist_token to add the token to your guardian whitelist before retrying.'},
46
53
'0xb5c6c3ab': {name: 'AgreementNotExists',description: 'The specified agreement does not exist.'},
47
54
'0xfe1da89a': {name: 'InvalidAgreement',description: 'The agreement is invalid (already cancelled or completed).'},
48
-
'0x9563bcf0': {name: 'GuardianLimitExceeded',description: 'The payment exceeds guardian spending limits.'},
55
+
'0x9563bcf0': {name: 'GuardianLimitExceeded',description: 'The payment exceeds guardian spending limits.',suggestion: 'Check your limits with azeth_get_guardrails. Split into smaller amounts or increase limits via the guardian.'},
49
56
'0x90b8ec18': {name: 'TransferFailed',description: 'The token transfer failed.'},
50
57
51
58
// ReputationModule
52
-
'0xae525b83': {name: 'InsufficientPaymentUSD',description: 'You must pay at least $1 USD to the target before rating. Use azeth_get_net_paid to check your payment history.'},
59
+
'0xae525b83': {name: 'InsufficientPaymentUSD',description: 'You must pay at least $1 USD to the target before rating.',suggestion: 'Payments via azeth_pay, azeth_smart_pay, azeth_transfer, and payment agreements all count toward the $1 minimum. Use azeth_get_net_paid to check your payment history.'},
'0x1f8f95a0': {name: 'InvalidOraclePrice',description: 'The oracle returned an invalid price.'},
71
78
'0xbf16aab6': {name: 'UnsupportedToken',description: 'The oracle does not support this token.'},
72
-
'0xcf479181': {name: 'InsufficientBalance',description: 'The smart account has insufficient token balance for this operation.'},
79
+
'0xf4d678b8': {name: 'InsufficientBalance',description: 'The smart account has insufficient token balance for this operation.',suggestion: 'Use azeth_deposit to fund your smart account, or use the smartAccount parameter to select a different account. Run azeth_accounts to see all your accounts and their balances.'},
73
80
74
81
// Common (shared across multiple contracts)
75
82
'0x0dc149f0': {name: 'AlreadyInitialized',description: 'This module is already initialized for the account.'},
return'An account already exists. Use azeth_accounts to list existing accounts.';
198
198
case'INSUFFICIENT_PAYMENT':
199
-
return'You must pay the target agent at least $1 USD (via azeth_transfer) before rating them. Use azeth_get_net_paid to check your payment history.';
199
+
return'You must pay the target at least $1 USD before rating. Payments via azeth_pay, azeth_smart_pay, azeth_transfer, and payment agreements all count. Use azeth_get_net_paid to check your payment history.';
200
200
case'RECIPIENT_UNREACHABLE':
201
201
return'The recipient is not reachable on the XMTP network. Use azeth_check_reachability to verify before sending.';
0 commit comments