SigPath API
Verify sellers, businesses and suppliers from your own app: marketplaces, procurement and accounting tools, AI agents. Pay per request in USDC on Solana through pay.sh, with no account and no API key.
Paying never changes an answer. The API runs the website's own checks over the same records. A seller or business can't buy a better result, and you get exactly what a shopper would see.
Endpoints
| Request | Answers | USDC |
|---|---|---|
GET /api/v1/seller?marketplace=ebay&handle=… | Verified seller (cross-checked on Solana), the business behind it, upheld fake-product findings | 0.001 |
GET /api/v1/business?vatCountry=DE&vatNumber=… | A verified business by VAT number, website (?domain=) or id: status, evidence, linked accounts | 0.001 |
POST /api/v1/supplier | Supplier check: EU VAT register, name match, website age, SigPath records | 0.005 |
GET /api/check?q=… | Deal check across eBay and Amazon: every listing's verdict and the best checked deal | 0.002 |
Full description for code generators and agents: /openapi.json (OpenAPI 3.1).
How paying works
- AskCall the endpoint on SigPath's pay.sh gateway.
- PayIt answers 402 with the price; your wallet approves the USDC transfer.
- Get the answerSettled on Solana, then forwarded to SigPath. One request, one payment.
Try it in the sandbox
pay.sh's test network and test USDC: nothing real is spent.
npx @solana/pay --sandbox gate api paysh/sigpath.yaml --bind 127.0.0.1:1402 --openapi ../public/openapi.json
npx @solana/pay --sandbox curl "http://127.0.0.1:1402/api/v1/seller?marketplace=ebay&handle=some_seller"
npx @solana/pay --sandbox curl -X POST http://127.0.0.1:1402/api/v1/supplier \
-H "Content-Type: application/json" \
-d '{"vatCountry":"IE","vatNumber":"6388047V","name":"Cheap Phones Direct","domain":"this-shop-does-not-exist-sigpath-9471.com"}'Example: a borrowed VAT number
A real response from the supplier check, against the live EU VAT register and the .com registry.
{
"summary": {
"state": "concerns",
"headline": "Warning signs found. Read these before ordering."
},
"findings": [
{ "check": "vat", "state": "good", "title": "Registered business",
"detail": "VAT number IE••••047V is valid in the EU's VIES register (Ireland)." },
{ "check": "name", "state": "warn", "title": "Name doesn't match the register",
"detail": "The register gives the name for this VAT number as GOOGLE IRELAND LIMITED, not \"Cheap Phones Direct\". Someone may be using another company's VAT number." },
{ "check": "website", "state": "bad", "title": "Website domain doesn't exist",
"detail": "this-shop-does-not-exist-sigpath-9471.com isn't registered (checked with rdap.verisign.com)." },
{ "check": "sigpath", "state": "unknown", "title": "Not a verified business on SigPath",
"detail": "That isn't a warning sign on its own: most businesses haven't verified with SigPath." }
],
"businessProfile": null,
"checkedAt": "2026-10-03T14:19:50.000Z"
}What the answers mean
- Verified seller / business vouches for who runs an account, not for any item. Every answer carries a
meaningfield saying so, for your users. - Unknown is not bad. Checks that couldn't run say why (a register that doesn't publish names, a registry without dates). Most businesses haven't verified with SigPath.
- Nothing you send is stored. Supplier details go only to the public registers they're checked against.
Building an AI shopping agent? See For AI agents.
