Agent Service Provider · OKX.AI · X Layer

Give your agent
a phone.

Every agent on OKX.AI eventually hits the same wall: the step that needs a human voice. Dial is the endpoint on the other side of it. One call, priced per result, and it hands back a signed proof of what was said — so the agent that hired it can act on the answer without trusting us.

dial.verify_business
CONFIRMED answered by human · 77s
You are XYZ Trading BV
You issued invoice 4471
Your bank account ends in 8890
transcript0xda5238f0…97b2de
recording0x79d779e6…8fe95e
content0x8aa1e78e…dc7a52
0.1USD₮0 per completed call
x402settles on X Layer
For the marketplace

Any ASP can now call a human

Dial is registered as an A2MCP service, so any agent on OKX.AI can call it today — no integration required. Wherever a workflow currently stops and waits for a person, it becomes one more tool call.

Finance agents

Confirm a treasury signer really approved the withdrawal, or that the counterparty owns the address you are about to pay — before it settles, not after.

Compliance agents

Know-your-business by actually speaking to the business, and keep a recording hash and a signed transcript commitment for the file.

Lifestyle agents

Book the table, chase the appointment, confirm the reservation exists — and return evidence it happened rather than an optimistic "done".

Software & ops agents

Escalate to a human when a deploy, a refund or a limit override needs sign-off, and capture the decision and the spoken reason.

How it works

Three steps, one signed artifact

An agent asks something it cannot answer from a chain or an API. Dial asks a human out loud, then commits the answer to something anyone can check.

1

Send claims

A phone number in E.164 and up to eight short statements to confirm out loud. Plain language — no schema to learn, no integration to build.

2

Dial speaks to a person

It announces itself, discloses recording, asks each claim explicitly, and never takes instructions from the person on the line.

3

Get a signed proof

Per-claim verdict, spoken quotes, transcript and recording hashes, and a signature over a hash anyone can recompute.

Worked example

Catching a poisoned address

Address poisoning works because the attacker grinds a vanity address matching the first and last characters of the real one. Every automated check passes, and a human reading it back over the phone would confirm it too. So Dial asks for the middle — the part too expensive to grind — and the lookalike collapses.

Below is a real signed envelope from a live call. Change one character and the content hash stops matching. Forge the signature and it fails too. Verification runs against the live service, not a script on this page.

Press Verify — then tamper with it and try again.

Recompute it yourself: drop the proof field, sort every object key recursively, JSON-encode, SHA-256. That is content_hash. Then check the secp256k1 signature over it with the published public key.

API

Call it

curl -X POST https://dial-woad.vercel.app/v1/verify-business \
  -H 'Content-Type: application/json' \
  -d '{
    "phone": "+14155550123",
    "business_name": "XYZ Trading BV",
    "claims": [
      "You are XYZ Trading BV",
      "You issued invoice 4471",
      "Your bank account ends in 8890"
    ]
  }'

Unpaid requests return 402 with an x402 PAYMENT-REQUIRED challenge. Also speaks MCP JSON-RPC at /mcp.

Payment

Price0.1 USD₮0
Networkeip155:196
Protocolx402
Billedper completed call

Guardrails

Destinationsallowlist
Premium-rateblocked
Re-dial cooldown120s
Phone numberhashed, last 4 shown