Run Code change review.
API Acre verifies the exact x402 price, Base network, recipient, and request before any wallet opens. One successful call costs $0.05 USDC.
API Acre never receives your private key; signing stays inside your wallet.
1 · Run one call
- Network
- Recipient
- USDC contract
No ETH gas needed. Connecting does not sign or pay. Coinbase Wallet supports desktop QR and mobile handoff without a browser extension. This EIP-3009 payment needs only the displayed USDC on Base—not ETH for gas—because the facilitator submits settlement. Reject any later prompt that differs from the verified amount or recipient.
Copy an exact-cap x402 command
The first command checks the route without paying. Running the second command through optional third-party AgentCash may automatically spend up to $0.05 USDC; copying it does nothing. npx --yes approves package installation. Use a separate low-value wallet and review the command before running it.
Review exact command
npx --yes agentcash@latest check https://apiacre.com/v1/developer/code-change-review
npx --yes agentcash@latest fetch https://apiacre.com/v1/developer/code-change-review \
--method POST \
--header 'content-type: application/json' \
--body '{"before":"def invoice_total(items):\n return sum(item[\"price\"] for item in items)\n","after":"def invoice_total(items, discount=0):\n subtotal = sum(item[\"price\"] for item in items)\n if discount:\n subtotal *= 1 - discount\n return subtotal # TODO: validate discount bounds\n","language":"python","filename":"billing.py"}' \
--payment-protocol x402 \
--payment-network base \
--max-amount 0.05See the result before connecting · Curated static example
Code change review returns structured JSON. This example is static; the paid call returns a fresh result and settlement receipt.
{
"request_id": "018f1f54-7f38-7ba2-8dc3-5f90272d9f1a",
"service": "developer.code-change-review",
"version": "1",
"data": {
"changed": true,
"filename": "billing.py",
"language": "python",
"before": {
"source": {
"sha256": "69316f24997a9cbf73019f697f3f2373e39da67d1835885998775037c600a624",
"characters": 74,
"utf8Bytes": 74
},
"lines": {
"total": 2,
"code": 2,
"comments": 0,
"blank": 0
},
"functions": 1,
"classes": 0,
"branchPoints": 1,
"estimatedCyclomaticComplexity": 2,
"maximumFunctionComplexity": 2,
"maintainabilitySignal": 94,
"syntax": {
"engine": "python-ast",
"valid": true,
"error": null
}
},
"after": {
"source": {
"sha256": "f37990278fe5bda7fdae643ec96f54997271ed3992cefdd5f407736c2e843d00",
"characters": 194,
"utf8Bytes": 194
},
"lines": {
"total": 5,
"code": 5,
"comments": 0,
"blank": 0
},
"functions": 1,
"classes": 0,
"branchPoints": 2,
"estimatedCyclomaticComplexity": 3,
"maximumFunctionComplexity": 3,
"maintainabilitySignal": 87,
"syntax": {
"engine": "python-ast",
"valid": true,
"error": null
}
},
"summary": {
"lineDelta": 3,
"codeLineDelta": 3,
"functionDelta": 0,
"classDelta": 0,
"branchPointDelta": 1,
"complexityDelta": 1,
"maximumFunctionComplexityDelta": 1,
"maintainabilityDelta": -7,
"longLineDelta": 0,
"workMarkerDelta": 1
},
"functionChanges": {
"addedCount": 0,
"removedCount": 0,
"changedCount": 1,
"added": [],
"removed": [],
"changed": [
{
"name": "invoice_total",
"sourceChanged": true,
"sourceSha256Before": "69316f24997a9cbf73019f697f3f2373e39da67d1835885998775037c600a624",
"sourceSha256After": "f37990278fe5bda7fdae643ec96f54997271ed3992cefdd5f407736c2e843d00",
"complexityBefore": 2,
"complexityAfter": 3,
"complexityDelta": 1,
"linesBefore": 2,
"linesAfter": 5,
"lineDelta": 3,
"parametersBefore": 1,
"parametersAfter": 2,
"parameterDelta": 1
}
],
"truncated": false
},
"reviewDecision": "review",
"attentionScore": 2,
"attentionLevel": "medium",
"findings": [
{
"id": "new-work-markers",
"severity": "low",
"message": "The change adds TODO, FIXME, HACK, or XXX markers.",
"evidence": {
"added": 1
}
}
],
"execution": {
"codeExecuted": false,
"networkAccessed": false
},
"analysis": {
"version": "apiacre-code-change-review/1",
"method": "two deterministic code-metrics snapshots plus Python function-level deltas",
"limitations": [
"Static heuristics do not prove runtime behavior, correctness, test coverage, or production safety.",
"Function-level deltas are complete only when both Python snapshots parse and neither function list is truncated.",
"Renamed functions appear as one removal and one addition."
]
}
},
"meta": {
"duration_ms": 42,
"cached": false,
"sources": [],
"warnings": [],
"next_actions": []
}
}Review exact request JSON
2 · Authorize one call
Connected wallet:
Signing authorizes only the verified amount and recipient for this request. Reject the wallet prompt if anything differs.
Result
Settlement receipt
Change the request (optional)
The default request is verified automatically. Editing it invalidates the quote and requires this no-payment verification again.
Prefer your own client? Use the official x402 SDK examples. Browser checkout requires an EVM wallet with USDC on Base; the optional agent command uses AgentCash's separate local wallet.