Postal Address Validation & Standardization
omnial/x402-address-validate
Given a free-text postal address (and an optional ISO 2-letter country code hint), returns whether it resolves to a real location, a standardized/geocoded version of the address, parsed components (street, house number, city, state, postal code, country), latitude and longitude, and a match-type indicator, across 200+ countries.
Price
Up to $0.0487 per call; you pay what the call used
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.
Data source
Data © OpenStreetMap contributors.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/x402-address-validate" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/x402-address-validate" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/x402-address-validate", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/x402-address-validate", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0487 |
- Updated
- Oct 25, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "Full address as free text"
},
"country_code": {
"type": "string",
"description": "ISO 2-letter country code hint (optional)"
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"properties": {
"valid": {
"type": "boolean",
"description": "Whether the address resolved to a real, matchable location."
},
"latitude": {
"type": [
"number",
"null"
],
"description": "Observed null when the address does not resolve."
},
"longitude": {
"type": [
"number",
"null"
],
"description": "Observed null when the address does not resolve."
},
"components": {
"type": [
"object",
"null"
],
"properties": {
"city": {
"type": "string"
},
"state": {
"type": "string"
},
"street": {
"type": "string"
},
"country": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"country_code": {
"type": "string"
},
"house_number": {
"type": "string"
}
},
"description": "Parsed address components. Observed null (the whole object, not individual fields) when the address does not resolve.",
"additionalProperties": true
},
"confidence": {
"type": "number",
"description": "Match confidence, 0 to 1. Observed 0.84 on a fully-matched address and 0 on an address that did not resolve at all."
},
"match_type": {
"type": [
"string",
"null"
],
"description": "e.g. 'approximate' on a resolved match; observed null when the address does not resolve."
},
"input_address": {
"type": "string",
"description": "The address text exactly as submitted, echoed back."
},
"formatted_address": {
"type": [
"string",
"null"
],
"description": "Standardized, geocoder-formatted version of the input address. Observed null when the address does not resolve to any location."
}
},
"description": "The address validation result.",
"additionalProperties": true
}