Agent quickstart
Everything an agent needs in one page: address, free allowance, one working call, and how the payment step works.
1. Base URL and free allowance
Every tool is a plain HTTPS POST. There is no account and no API key.
- Send
X-MCP-Client-Id: your-agent-name(orMcp-Session-Id,X-Client-Id,X-Agent-Id) so the allowance is counted per agent, not per shared network. - The first 10 successful calls per day are free. A network is capped at 40 free calls in total.
- After that a call costs $0.005 in USDC on Base, paid with x402 when the request is retried.
- Calls whose result is not
ok(not found, no data, unreachable) are never charged. - Two response headers tell you where you stand:
X-Usage-Free-RemainingandX-Usage-Price-Micro-Usd.
2. One call
curl -sS https://gethirepulse.xyz/v1/tech-stack -H 'Content-Type: application/json' -H 'X-MCP-Client-Id: my-agent' -d '{"domain":"stripe.com"}'
Free calls answer with the result and X-Usage-Charged-Micro-Usd: 0. Once the free allowance is used, the same call answers 402 with the payment terms in the PAYMENT-REQUIRED header (base64 JSON: network, USDC asset, amount, pay-to address) and the same terms in the body.
3. Paying the 402
The 402 is the normal x402 v2 handshake: your client signs the accepted transfer, retries the same request with the signed payment, and the result of that retry carries PAYMENT-RESPONSE with the settlement receipt. Any x402 v2 client works; with @x402/fetch the retry can look like this:
import { wrapFetchWithPayment } from '@x402/fetch';
import { ExactEvmScheme } from '@x402/evm';
const fetch402 = wrapFetchWithPayment(fetch, {
schemes: [new ExactEvmScheme(process.env.WALLET_PRIVATE_KEY)],
});
const res = await fetch402('https://gethirepulse.xyz/v1/tech-stack', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'X-MCP-Client-Id': 'my-agent' },
body: JSON.stringify({ domain: 'stripe.com' }),
});
Never send X-PAYMENT: that was the older protocol and it is rejected with 400 unsupported_payment_header instead of being answered for free. Send the payment in the x402 v2 header PAYMENT-SIGNATURE.
4. Optional: a one-time free pass of 25 calls
curl -sS https://gethirepulse.xyz/v1/trial -H 'Content-Type: application/json' -H 'X-MCP-Client-Id: my-agent' -d '{"email":"you@yourcompany.com"}'
An address with activity on Base ({"wallet":"0x..."}) or a work email also works. No email is sent; only a salted hash is stored. The answer contains a token; send it as X-Trial-Token on later calls. Three passes per agent per day, ten per network.
5. MCP instead of HTTP
The same tools are on the MCP server at /mcp (Streamable HTTP, JSON-RPC). Send initialize, then tools/call; the payment handshake is the same and the trial token can travel in params._meta.
6. Where to read more
llms.txt (agent guide), llms-full.txt (every input and output schema), /v1/catalog, OpenAPI, x402 terms, terms.