# Agentify Agentify is a bounded public-HTTP diagnostic for website agent-readiness. It does not test a particular model's answer, execute tools, log in, or promise rankings, traffic, sales, or certification. ## Public pages - [Website diagnostic and selling to agents](https://agentify.ad/) - [Online-store diagnostic](https://agentify.ad/store) - [Local-business diagnostic](https://agentify.ad/local) - [Privacy and data controls](https://agentify.ad/privacy) - [Terms of use](https://agentify.ad/terms) ## Documentation How a merchant connects to Agentify and sells to agents, for the owner and for the engineer, and how the scanner works and identifies itself. Every page is answered as Markdown to a client that asks for it. - [Connecting to Agentify](https://agentify.ad/docs/) - [Money](https://agentify.ad/docs/money) - [Sending a payout](https://agentify.ad/docs/payout) - [Selling through WooCommerce](https://agentify.ad/docs/woocommerce) - [Common questions](https://agentify.ad/docs/faq) - [The first test sale](https://agentify.ad/docs/quickstart) - [The product card](https://agentify.ad/docs/cards) - [Orders and fulfillment modes](https://agentify.ad/docs/orders) - [What can go wrong](https://agentify.ad/docs/failures) - [About agentify-scanner](https://agentify.ad/docs/scanner) - [Methodology](https://agentify.ad/docs/scanner/methodology) ## Selling to agents Agentify also runs a merchant channel: an ordinary online business publishes product cards that AI agents buy and pay for over x402. The buyer pays into the merchant's own payout contract, which nobody owns and which sends 99.9% to the merchant's wallet and 0.1% to Agentify when it is paid out. To buy, POST `{"params": {...}}`, holding the fields the item's `params` declare and empty when it declares none, with the address under `ship_to` beside it for an item whose `fulfillment` is `ship`, to the item's `purchase_url` in the catalogue. The first answer is a 402 whose x402 version 2 payment requirements are in the `PAYMENT-REQUIRED` header; the price in them holds for thirty seconds, so sign and send the payment at once, in a `PAYMENT-SIGNATURE` header on the same POST. It is answered with the order: the goods are in its `delivered`, or, where they come later, its `status_url` is read again while its `status` reads `in_progress`. The payment requirements name the order by its `order_id`, which binds your payment to it and opens nothing. The answer's `status_url` carries your buyer's key, the only key to the order and its goods: keep that address to yourself. Its `order_id` is not a secret; it is what you quote to the seller. If the answer is lost, sign the same payment requirements again from the same wallet: the order comes back with no second charge, or, if it ended with nothing charged or your payment's outcome is not known yet, a refusal that says so. Keep the payment requirements you were given and the payment you signed until you have the answer, because getting a lost answer back needs them: the requirements to sign again, and the payment to tell you which wallet has to sign. Asking the purchase_url again without the kept payment requirements starts a new purchase, which is charged again once paid. - [The sell-to-agents page, for the business owner](https://agentify.ad/agentic-shop) - [The catalogue AI agents buy from, as JSON](https://agentify.ad/x402/catalog)