Catch the address while
the customer can still fix it.
Checkout Guard waits until the customer pauses, checks the address, and renders a correction or review state beside the form. The badge is advisory and fails open; your storefront keeps control of whether checkout continues.
Sandbox proof on Free · Live widget on Growth ($79/mo) and above · No SDK or build step.
Tap a scenario above. This is the actual widget UI — the one your customers see.
Install
Paste this above </body>. The widget finds your address fields automatically.
<script
src="https://revaddress.com/sdk/revaddress-guard.js"
data-api-key="rv_live_pub_YOUR_KEY"
defer
></script>Customize — target and field selectors
<script
src="https://revaddress.com/sdk/revaddress-guard.js"
data-api-key="rv_live_pub_YOUR_KEY"
data-target="#shipping-address-form"
data-field-street="[name='shipping_address[address1]']"
data-field-city="[name='shipping_address[city]']"
data-field-state="[name='shipping_address[province]']"
data-field-zip="[name='shipping_address[zip]']"
defer
></script>Three decisions behind the badge
The widget waits 600 milliseconds after typing stops, calls the restricted browser endpoint, and keeps its badge isolated from merchant CSS.
Did they typo it?
A correction is returned only when the standardized street or city differs from the input. The customer can accept it without leaving the form.
Can USPS deliver there?
With the merchant's USPS license connected, DPV confirmation can produce valid, missing-unit, undeliverable, or risky states. Without that license, do not describe the result as USPS-verified.
What happens when the check fails?
The endpoint degrades to a neutral valid response with no message, and the badge hides. Checkout continues; a transient upstream failure does not block the order.
Plan access
Free sandbox proof
A test publishable key returns deterministic badge states without a live upstream call
Growth
Live widget · 25,000 shared requests/mo · connected USPS license for verified states
Pro + Enterprise
The same widget with higher plan allowances, usage analytics, and multi-merchant isolation where applicable
What Checkout Guard deliberately does not do
A browser badge is one signal inside checkout. The limits below are part of the contract, not fine print discovered after install.
Submit behavior
It does not block checkout
The shipped widget renders a badge. If an order must be gated, call the endpoint from checkout code and implement the merchant's own review rule.
Failure behavior
It fails open
When the upstream check errors, the response carries no warning and the badge hides. Monitor the integration separately if the business needs proof that every check ran.
Verification claim
USPS states require a connected license
DPV, ZIP+4, missing-unit, CMRA, vacancy, and USPS-derived risk signals run on the merchant's connected USPS license. A sandbox state is demonstration data.
Platform boundary
It needs a form you control
Use the script on custom HTML, WooCommerce, Magento, or a theme-owned form. Shopify's hosted checkout needs a Checkout UI Extension rather than an arbitrary script tag.
Test the states before choosing the plan
Run the four deterministic sandbox streets in the demo contract, then compare the Growth allowance and connected-license requirements.
Already on Growth or above? Generate the publishable key from the dashboard. Free accounts receive a sandbox key for proof only.