# DevHero for AI agents

> DevHero lists currently open software and web development projects — public tenders, freelance projects and contract roles — with budget or rate (source currency and USD), deadline, place, project type and technologies, summarised from their official sources; headlines and summaries in English and, where translated, 19 more languages. Use search_projects / get_project / list_categories to read (free), request_contact to write to the team (free). Paid: unlock_project (client, official source link, reference, evidence), order_lead_pack, set_alerts — open an account with create_account (no human needed), top up with buy_credits (USDC via x402 on Base or Solana, Bitcoin Lightning, Stripe), then send the api_key as a Bearer token. Pay per call without an account: GET /agents/api/projects/{id}/unlock answers HTTP 402 (x402 / L402).

Everything here works without a human on our side: searching, reading, opening an account, paying, unlocking projects and ordering lead packs.
People at DevHero answer contact requests and put lead packs together.

Projects (as of 2026-11-13): 705 public tenders, 35 freelance projects and 104 contract roles — 844 open software and web development projects in 48 countries, $23.0B in stated budgets (framework budgets are ceilings for all suppliers over the whole term). 349 are web projects, 87 name JavaScript/TypeScript; 214 close within 7 days. Budgets are given in the source currency and in USD (European Central Bank reference rates); rates in USD per hour. Headlines and summaries in English and, where translated, in 19 more languages (lang=en, ar, zh, es, fr, de, pt, ru, ja, ko, it, tr, nl, pl, uk, hi, id, fa, ur, vi).

## Ways in

- MCP (Streamable HTTP): https://www.devhero.one/mcp — protocol 2026-07-28 (stateless, server/discover) and 2025-11-25 / 2025-06-18 / 2025-03-26 (initialize).
- A2A: Agent Card https://www.devhero.one/.well-known/agent-card.json (A2A 1.0) · JSON-RPC endpoint https://www.devhero.one/a2a · A2A 0.3 card: https://www.devhero.one/.well-known/agent.json
- WebMCP: open https://www.devhero.one/agents/ in a browser with WebMCP (navigator.modelContext); the same tools are registered on that page.
- HTTP/JSON: https://www.devhero.one/agents/api — OpenAPI 3.1 at https://www.devhero.one/agents/openapi.json

## Tools (same names everywhere)

- **search_projects**: Search open DevHero projects: public tenders (kind "tender"), freelance projects ("freelance") and contract roles ("contract"). Filter by project type, technology (matched case-insensitively against the named technologies, e.g. "react", ".NET", "WordPress"; "javascript" = every project that names JavaScript/TypeScript), JavaScript-only or web-only, sector, country, region, budget and hourly rate in USD, deadline and free text. Sort by budget (default), rate, newest or deadline. Returns ids, headlines in the requested language, budget (source currency, basis and USD) or rate (USD per hour), technologies, place, dates, status, source platform and page URLs, counts by kind and the total stated budget in USD (framework budgets are ceilings for all suppliers over the whole term). Client names and source links are withheld (unlock_project).
- **get_project**: Full public details of one project by id (e.g. DH-0123): headline and summary in the requested language, kind and what it means, project type, sector, technologies, budget (source currency, basis, USD) or rate (USD per hour), place, posting date, deadline and days left, framework flag, lots, duration, work mode, proposals so far, source platform and page URL. Client, source link and reference stay withheld — "unlock" says how to reveal them (tool, pay-per-call URL, price).
- **list_categories**: All filter values with counts (and total stated budget in USD where useful): kinds (tender, freelance, contract), project types, technologies named in projects (count ≥ 1, most frequent first; "javascript" = all projects naming JavaScript/TypeScript), stack classes, sectors, regions, countries, statuses and budget bases, plus the currency conversion used.
- **get_service_info**: How DevHero works for agents: free and paid tools, prices (credits and USD), credit packs, the payment methods this server accepts (x402 USDC on Base/Solana, Lightning L402, Stripe), how to open an account, contacts and languages.
- **create_account** (sends data): Opens a DevHero credit account for the calling agent and returns an api_key (shown once — store it). E-mail is optional (needed only for e-mail alerts and order receipts). role: agency (default), freelancer or client. Send the key as "Authorization: Bearer <api_key>" (or the api_key argument) with paid tools.
- **get_account**: Your account: role, balance in credits, recent credit history, unlocked project ids and orders with their status. Needs your api_key.
- **buy_credits** (sends data): Buy a credit pack for your account. method: "x402" (USDC on Base or Solana — returns the URL that answers HTTP 402; pay it with any x402 client), "lightning" (returns a BOLT11 invoice; then call confirm_payment), "stripe_spt" (pass a Stripe shared payment token in shared_payment_token; charged at once), "saved_card" (charges the card saved on this account; first time returns a setup link), "stripe_checkout" (returns a hosted payment page). See get_service_info for what this server has enabled.
- **confirm_payment** (sends data): After paying a Lightning invoice (payment_hash) or a Stripe checkout page (checkout_session), call this to add the credits to your account. Safe to repeat: credits are added once.
- **unlock_project** (paid): Reveals the client, the link to the official notice or post and its site, the reference number, the original title, the evidence quote we checked, the licence of the source and the source language for one project. Paid: with an api_key it uses credits (once per project — repeat calls are free); without an account, pay per call over HTTP 402 (x402 USDC or Lightning L402) at /agents/api/projects/{id}/unlock.
- **request_contact** (sends data): Free message to the DevHero team about one project (target DH-…) or in general (target "general") — e.g. help with a bid, a partner for a lot, a question about a project, or what your team builds. People review it and reply by e-mail or WhatsApp. Give contact.email or contact.whatsapp (or send your api_key) so the team can reply. Returns a request_id for get_request_status. For a curated list of fitting projects use order_lead_pack (paid).
- **order_lead_pack** (paid): Paid service (credits): the DevHero team picks the open projects that fit your team best and sends them within 2 working days, with why each one fits and the key dates. Describe what you want with at least one of type, stack or notes; optionally a minimum budget and a region. Needs an api_key with enough credits; returns an order id (status with get_request_status).
- **set_alerts** (sends data): Turn weekly e-mail alerts on or off for new projects, filtered by project types, countries and a minimum budget in USD (projects with only an hourly rate are always included). At most one e-mail a week; each alert e-mail costs credits, weeks without new matches cost nothing (see get_service_info). Needs an api_key and an account e-mail (set it with create_account).
- **get_request_status**: Status and history of a contact request (DHC-…, with the e-mail or WhatsApp number used, or the api_key it was sent with) or a paid order (R…, with your api_key).

## Paying (no human needed)

- Payments are not configured on this server yet.

Prices: unlock_project 25 credits (≈ USD 28.75) · order_lead_pack 290 credits (≈ USD 333.5) · alert e-mail 10 credits (≈ USD 11.5).

1. create_account → api_key (send as `X-API-Key: <api_key>` — or `Authorization: Bearer <api_key>` when you do not need that header for L402/MPP).
2. buy_credits (or pay per call: `GET https://www.devhero.one/agents/api/projects/{id}/unlock` answers HTTP 402 with x402 payment requirements and an L402 Lightning challenge; repeat the request with the payment).
3. unlock_project / order_lead_pack / set_alerts.

## A2A messages

Exact call: one data part `{"skill": "<tool name>", "input": {…}}`. Plain text is treated as a project search (ids like DH-0123 are recognised; "tender", "freelance" and "contract" set the kind).
Paid skills without an api_key come back as TASK_STATE_AUTH_REQUIRED with the payment options.

## Examples

MCP (2026-07-28):
```
curl -s https://www.devhero.one/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
  -H 'MCP-Protocol-Version: 2026-07-28' -H 'Mcp-Method: tools/call' -H 'Mcp-Name: search_projects' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_projects","arguments":{"technology":"react","sort":"newest","limit":3},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/clientCapabilities":{}}}}'
```

HTTP/JSON:
```
curl -s 'https://www.devhero.one/agents/api/projects?type=portal&min_budget_usd=100000&deadline_within_days=30&lang=de&limit=5'
curl -s 'https://www.devhero.one/agents/api/projects?technology=javascript&kind=freelance&sort=newest'
curl -s https://www.devhero.one/agents/api/accounts -H 'Content-Type: application/json' -d '{"accept_terms":true,"role":"agency","agent":{"name":"ExampleAgent"}}'
curl -s https://www.devhero.one/agents/api/credits/buy -H 'X-API-Key: dhk_…' -H 'Content-Type: application/json' -d '{"pack":"c100","method":"lightning"}'
curl -si -X POST 'https://www.devhero.one/agents/api/credits/topup?pack=c100' -H 'X-API-Key: dhk_…'   # 402 → pay with x402 / L402 / MPP → repeat
curl -si https://www.devhero.one/agents/api/projects/DH-0001/unlock      # 402 → pay (x402 or L402) → repeat with the payment header
```

## Rules

- Projects are summaries of public sources (procurement portals, freelance boards, job posts); client names, source links and references are withheld until unlocked. Every project names its source platform.
- Budgets are the client's own figures: "framework" values are ceilings for all suppliers over the whole term; "per-lot" and "lots-sum" say how lots are counted. Conversions to USD use European Central Bank reference rates of 2026-11-12.
- To bid, use the official source: DevHero does not submit offers on your behalf.
- Write tools are rate-limited per IP. Please identify your agent in "agent": {"name", "url", "on_behalf_of"}.
- Terms: https://www.devhero.one/legal/terms/ · Privacy: https://www.devhero.one/legal/privacy/ · Contact: WhatsApp +49 171 1254074 · ag@brn.ai · DevHero · a BRNZ service · TechFunder World AG, Industriestrasse 9, 6302 Zug, Switzerland
