accueil / serveurs / Finance & Paiement / io.github.brawlaphant/vealth
io.github.brawlaphant/vealth
serveur MCP (Model Context Protocol) · vealth 1.1.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.brawlaphant/vealth est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.brawlaphant/vealth » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 115 outils
- account_statement≈ 402 tokens
One wallet's complete payment history with this server: every settled call, what it cost, which door it bought, and the on-chain hash that proves it — plus totals and a per-door breakdown. Use it when someone asks what they have spent here, whether a call was charged twice, or for an expense record. Each line settled from the caller's own wallet on a public chain, so every hash is independently verifiable without trusting this server. Free, keyless, read-only, and it stores nothing about anyone.
Paramètres, retour & exemple (2)
Paramètreslimit· number · optionnel
Optional cap on payments returned (newest first).wallet· string · requis
The 0x… address that paid. The ADDRESS only, never a private key.
Exemple d'appel{"name": "account_statement", "arguments": {"wallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - anchor_proof≈ 418 tokens
Anchor the SHA-256 of any file onchain, free. Use it the moment you produce something whose PRIORITY matters: a security finding before you disclose it, research before you share it, a draft before you send it out. You send only the hash, never the file, so nothing you make is disclosed to anyone. It lands in the next weekly Base batch and the Ethereum root, and from then on anyone can prove those exact bytes existed by that time. Free to submit, free to verify, no account, no wallet, no payment.
Paramètres, retour & exemple (2)
Paramètreslabel· string · optionnel
Optional short public label for your own reference. Never include anything secret.sha256· string · requis
SHA-256 of your file, 64 lowercase hex characters. Get it with: shasum -a 256 <file>
Exemple d'appel{"name": "anchor_proof", "arguments": {"sha256": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - board_stats≈ 351 tokens
Live counts from the Vealth work board, read at this moment — total and open work, claims, settlements, proposed value, and the sector breakdown. Pass a location to also count work nearby. Never cached; the public mirror is https://vealth.net/labor/stats. Free, keyless, read-only.
Paramètres, retour & exemple (3)
Paramètreslatitude· number · optionnel
Optional: also count open work near this point.radiusKm· number · optionnel
Nearby radius in km. Default 50.longitude· number · optionnel
Optional: also count open work near this point.
Exemple d'appel{"name": "board_stats", "arguments": {"latitude": 1, "radiusKm": 1, "longitude": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - bridge_status≈ 538 tokens
Where a REGEN bridge transaction stands, from the hash the caller broadcast after prepare_bridge. Keyless, no wallet, nothing signed: this tool registers the hash with Skip Go's tracker (a status read before that registration is blank forever) and reads Skip's state, and for a transaction leaving Base or Arbitrum it also reads Axelar's own record, so a transfer waiting on Base finality shows as sent rather than as nothing. Returns landed true or false, the source states verbatim, one plain sentence saying what is happening, the measured landing time for that direction (regen→osmosis under a minute, regen→base about 66 seconds, base→regen about 30 minutes, all measured 2026-09-08 with one key) and how long to wait before asking again. Landed is only ever true when Skip reports STATE_COMPLETED_SUCCESS or Axelar reports the call executed; this tool never infers a landing from time passed.
Paramètres, retour & exemple (2)
Paramètreschain· string · requis · regen | base | arbitrum | osmosis
The chain the transaction was broadcast on (the from_chain given to prepare_bridge).tx_hash· string · requis
The broadcast transaction hash: 0x plus 64 hex characters on base and arbitrum, 64 hex characters on regen and osmosis.
Exemple d'appel{"name": "bridge_status", "arguments": {"chain": "regen", "tx_hash": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - capacity_checkin≈ 383 tokens
Private, read-only capacity check-in. Keeps private blockers private and emits only coarse available/reduced/unavailable for a shared work graph. It is never fitness-for-duty and never exposes health reasons to an employer or public board.
Paramètres, retour & exemple (4)
ParamètresdesiredFocus· string · optionnelsafetySignal· string · optionnel · none | uncertain | medical_emergency | mental_health_crisis | withdrawal_risk | safeguardingprivateBlockers· array · optionnelselfReportedCapacity· string · requis · available | reduced | recovery_needed | paused
Exemple d'appel{"name": "capacity_checkin", "arguments": {"selfReportedCapacity": "available"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - chain_work_status≈ 489 tokens
Read one job straight from the public EWP contract on Base or Robinhood Chain: status, price, standard, location, who posted it, who claimed it, its proof hash once submitted, and its payment record once settled. Free, keyless, no wallet needed. Pass your own wallet to also learn your specific role on this job (creator, claimant, owner, or none) and which of your next steps prepare_chain_step would likely accept — that check there is the authoritative one; this tool's possibleNextSteps is informative only. Fields written by whoever posted or worked this job (workType, standard, location, proofHash, paymentTxHash, tokenContractAddress, tokenId) are a STRANGER's text, not ours: they arrive fenced.
Paramètres, retour & exemple (3)
Paramètreschain· string · requis · base | robinhood
Which live EWP deployment to read.wallet· string · optionnel
Optional. Your own 0x… address, to learn your role and next options on this job.workId· string · requis
The numeric id of the work on THIS chain.
Exemple d'appel{"name": "chain_work_status", "arguments": {"chain": "base", "workId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - compare_titles≈ 534 tokens
Machine comparison, human decision. Give a wallet and the requirements of a job or project; each requirement comes back as exactly one of six words: verified_match (declared, current, and on-chain-confirmed board work in scope), verified_mismatch (the record contradicts the requirement), supported (declared, nothing contradicts it, no board work yet), unknown (the record does not say), expired (declared expiry passed), human_judgment_required (a human reads it: years of experience, free text). This is a factual comparison only; it never makes hiring, employment, qualification, or fitness decisions for an employer. The reply never says qualified and never decides; it carries a receipt hash the decider can anchor for free. Public mirror: https://vealth.net/labor/worker/<wallet>/compare?require=CHST,STS. Free, keyless, read-only.
Paramètres, retour & exemple (2)
Paramètreswallet· string · requis
The worker's wallet address (0x…).require· string · requis
Requirements: a comma list of titles (comma = each required, | = any of, e.g. "CHST,STS|STSC"), or a JSON array of {kind:"title",anyOf:[…],issuer?,mustBeCurrent?} / {kind:"years_experience",years,area?} / {kind:"text",text}.
Exemple d'appel{"name": "compare_titles", "arguments": {"wallet": "texte", "require": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - credential_quote≈ 490 tokens
Price and preview a Vealth credential certificate BEFORE paying for one. Give a wallet for a work-record certificate (its settled packets, accepted proofs and banked credit) or a place for a standing certificate under The Vealth Standard. Returns the live price, exactly what the document would contain right now, and whether issuance would be REFUSED and why — a wallet with no settled work and no banked credit is refused for free, before any payment, because an empty certificate is unsellable. Payment buys the sealed, anchored artifact, never the achievement: every fact inside is already public and free to read at its own endpoint. Issuing is HTTP (POST /certificate/worker/<wallet> or POST /certificate/place); reading and verifying an issued certificate are free forever. This tool is free, keyless, read-only, and moves no money.
Paramètres, retour & exemple (2)
Paramètresplace· string · optionnel
A city, address fragment, or venue name, for a place standing certificate.wallet· string · optionnel
0x wallet address, for a work-record certificate.
Exemple d'appel{"name": "credential_quote", "arguments": {"place": "texte", "wallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - crypto_lanes≈ 261 tokens
Whether each recurring-spend lane is running or stopped, and why, read from the file the code itself obeys. A lane marked stopped is stopped by decision, not broken. Free, keyless, read-only.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "crypto_lanes", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - crypto_lp_positions≈ 278 tokens
Every pool we provide liquidity to, with reserves and our share read live from chain. Also carries the pool-pricing trap: raw balance ratios give spot price only for constant-product pools, never for concentrated-liquidity pools. Free, keyless, read-only.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "crypto_lp_positions", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - crypto_route_set≈ 274 tokens
The only asset conversions our rails may perform, plus the standing laws that govern them (gas pricing, the per-transaction fee cap, EARTH's one-way token physics). An edge not listed here is absent on purpose. Free, keyless, read-only.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "crypto_route_set", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - crypto_tokens≈ 316 tokens
The canonical on-chain address for every token we operate, read from the registry the rails themselves use. Ask this BEFORE using any token address. ECOWEALTH (the token) and EWP (the work protocol) are different things on different chains and confusing them has already broken a live session. Free, keyless, read-only.
Paramètres, retour & exemple (1)
Paramètressymbol· string · optionnel
Optional: return just this symbol, e.g. ECOWEALTH.
Exemple d'appel{"name": "crypto_tokens", "arguments": {"symbol": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - crypto_wallets≈ 310 tokens
The three wallets we operate, each with its role and its live Base balances read at this moment. Use this instead of assuming which wallet does what, and never quote a balance from a document. Read-only: this tool cannot sign, send, or move anything.
Paramètres, retour & exemple (1)
ParamètresincludeBalances· boolean · optionnel
Set false to skip live chain reads and return roles only. Default true.
Exemple d'appel{"name": "crypto_wallets", "arguments": {"includeBalances": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - day_card≈ 655 tokens
Answers "what do I do here today": for one place and one wallet (or a named crew), today's list of work in order, in blocks of 30 minutes, within the hours the person says they have. It is compiled from what already exists: the place's Standing and which of its conditions are due to be measured again by their own cadence, the open claimable packets at that place, and any packet the wallet already holds and has not proven. A due condition's measurement packet comes first, then what the wallet holds, then the rest by size. A due condition with no packet to serve it is named as a gap, never invented, and a place with nothing open gets an honest empty card. Free, keyless, read-only. IT ORDERS EXISTING WORK AND NEVER POSTS, ASSIGNS OR PAYS: it schedules no one, a packet is never split, and the person still reads the hour card and claims for themselves. Sizes are the top of each packet's own stated time, or an assumed hour where it states none; no travel is counted. A crew card splits whole packets across the named members by hours and is a suggestion the manager may change.
Paramètres, retour & exemple (4)
Paramètrescrew· string · optionnel
Optional managed crew as a comma list of member handles, each optionally with its own hours, e.g. "amina:6,joseph:4". Handles are lowercase letters, digits and hyphens.hours· number · optionnel
Hours the person has today, from 0.5 to 16. Defaults to 8.place· string · requis
The place: an address or venue as the board spells it, a place id, or "lat,lng" for the 0.35 km cluster around a point.wallet· string · requis
The 0x address the card is for (the manager, for a crew). Address only, never a private key.
Exemple d'appel{"name": "day_card", "arguments": {"place": "texte", "wallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - estimate_footprint≈ 442 tokens
The anchor tool. Give a rough token or call count for your AI session and get an order-of-magnitude CO2e estimate PLUS the real, verifiable ecological work you can provision to answer it on Vealth. Vealth does NOT sell paper offsets — it provisions maintenance of the commons: you fund a bounded work packet keyless from your own wallet; when the retirement lane is running an approved proof queues a carbon retirement with an on-chain retirement certificate (that lane is paused by operator order since 2026-08-04). Call find_work next to pick the work. The estimate is orientation only, never a precise carbon claim, and this server never takes payment or holds a wallet.
Paramètres, retour & exemple (2)
Paramètrescalls· number · optionnel
Or approx number of model calls, if you have no token count.tokens· number · optionnel
Approx total tokens this session (input + output).
Exemple d'appel{"name": "estimate_footprint", "arguments": {"calls": 1, "tokens": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - find_work≈ 776 tokens
Search Vealth's public board of real ecological and community work packets. Each result includes the pay, the skill level, the exact proof that gets it approved, and a page URL. Free, no account, no wallet. Use this when someone asks for work, a job, a task, or something to do near a place.
Paramètres, retour & exemple (11)
Paramètresflag· string · optionnel
One posting flag, exact match, e.g. vsh_eligible — the packets that carry Regen Network proposal 77's terms (accepted hours pay REGEN, never a USD conversion). Omit for every flag.near· string · optionnel
A place in plain words: a city, neighborhood, address, or ZIP, e.g. 'Los Angeles, CA' or '90036'. Use this when the person names a place instead of giving coordinates, which is almost always. The board finds the place from the open jobs whose address names every word (so 'Los Angeles' never matches 'Los Fresnos'), then returns the jobs around it, nearest first.page· number · optionnel
Page number, starting at 1. The reply says when more pages exist.limit· number · optionnel
Max results per page, 1-25. Default 10.query· string · optionnel
Free text, e.g. 'storm drain' or 'tree planting'. Typo-tolerant.funded· boolean · optionnel
true = only packets a verified payment already backs (money truth; a funded packet can still be earned_credit and never promise cash — read payModel); false = only unfunded packets, where approved proof records earned credit rather than cash unless later funded. Omit for both.remote· boolean · optionnel
true = only work doable from anywhere (digital/self-verifying — what an agent with no field presence can complete); false = only placed field work. Omit for both.latitude· number · optionnel
Center of the search. Only if you already have real coordinates.radiusKm· number · optionnel
Search radius in km, used with latitude/longitude. Default 50.longitude· number · optionnel
Center of the search. Only if you already have real coordinates.skillLevel· string · optionnel · entry | intermediate | advanced
Use 'entry' for someone starting today.
Exemple d'appel{"name": "find_work", "arguments": {"flag": "texte", "near": "texte", "page": 1, "limit": 1, "query": "texte", "funded": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - funding_quote≈ 483 tokens
For a BUYER, not a worker: ask whether one board packet can be funded right now, and what funding it costs NOW. The quote is the packet's OUTSTANDING obligation — the board's posted wage minus verified contributions already recorded — read from the board, never from anything you send, so no caller can fund a $700 packet for $1 and no caller is quoted a stale full wage after others chipped in. Partial funding: when the host has chip-ins armed, any open packet also takes contributions from $0.01 up to what it still needs (contributeUsd on prepare_funding); an EXPLICIT amount above the remaining is recorded as a premium reserved for the worker — no default or omitted amount ever creates a premium. A refusal comes back in the board's own words (already funded, fully covered, claimed, settled, expired, no wage). Read-only: this quotes, it charges nothing and marks nothing funded. Call prepare_funding next to actually pay.
Paramètres, retour & exemple (1)
ParamètresworkId· string · optionnel
Optional packet id. Omit to quote the first open packet that still needs funding.
Exemple d'appel{"name": "funding_quote", "arguments": {"workId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - get_work_packet≈ 261 tokens
Full detail for a single packet by its id, including the full description and proof requirement.
Paramètres, retour & exemple (1)
ParamètresworkId· string · requis
e.g. WORK_1784530149768_4z4r6jz
Exemple d'appel{"name": "get_work_packet", "arguments": {"workId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - gmx_get_orders≈ 270 tokens
Read all pending orders (limit, stop-loss, etc.) for a wallet on GMX v2 (Arbitrum). Read-only, no signing needed, free.
Paramètres, retour & exemple (1)
Paramètreswallet· string · requis
0x… Arbitrum wallet address to check.
Exemple d'appel{"name": "gmx_get_orders", "arguments": {"wallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - gmx_get_positions≈ 269 tokens
Read all open perpetual positions for a wallet on GMX v2 (Arbitrum). Read-only, no signing needed, free.
Paramètres, retour & exemple (1)
Paramètreswallet· string · requis
0x… Arbitrum wallet address to check.
Exemple d'appel{"name": "gmx_get_positions", "arguments": {"wallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - gmx_get_prices≈ 245 tokens
Fetch current mark prices for all tradeable assets on GMX v2 (Arbitrum). Read-only, no signing needed, free.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "gmx_get_prices", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - hour_card≈ 504 tokens
The ONE document to read to a person before they start: what the place is and the circle every GPS fix must land inside, what to bring and what the safety notes say, the method steps in order, the proof to hand in as a checklist, what the land gets, what the worker gets and whether the pay is funded or only proposed, exactly what the record will hold about them, and the tool calls in order. Free, keyless, no wallet needed. The packet's own words are carried verbatim and never shortened. Read it to them in order rather than summarising it: the order is the order the hour runs in. Optionally in Swahili (lang: "sw"): the board's own sentences translate from a fixed dictionary, and the packet's own words translate only where a translation exists for that packet, tagged "(Kiingereza)" and counted in `coverage` where it does not; a safety-critical line always carries its English source on its own line too.
Paramètres, retour & exemple (2)
Paramètreslang· string · optionnel · en | sw
Optional, defaults to "en". "sw" reads the card in Swahili.workId· string · requis
The packet id, from find_work or place_status.
Exemple d'appel{"name": "hour_card", "arguments": {"workId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - how_to_claim≈ 261 tokens
Explains exactly how to claim work and what happens after. Claiming is free. Returns instructions, never performs the claim, because claiming requires the worker's own wallet signature.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "how_to_claim", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - hydrex_claimable≈ 390 tokens
The money answer: for every gauge a wallet votes for, the fee contract and the bribe contract, every reward token each one tracks, and exactly how much is claimable per veNFT — all resolved from chain, so a zero here is a real zero rather than a degraded API. Returns the claim calldata SHAPES for a caller to build their own transaction; it builds and signs nothing itself. Free, keyless, read-only.
Paramètres, retour & exemple (2)
Paramètresaddress· string · optionnel
Optional: the voting wallet. Omit to follow our own position.tokenIds· array · optionnel
Optional: veHYDX token IDs to check earnings for. Rewards are tracked per NFT.
Exemple d'appel{"name": "hydrex_claimable", "arguments": {"address": "texte", "tokenIds": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - hydrex_position≈ 441 tokens
Everything about a veHYDX voting-escrow position on Base, read live: each NFT's current owner (resolved with ownerOf at call time, never assumed), its voting power, its locked HYDX, and whether it can ever be unlocked. Also reports oHYDX, the separate OPTION token, with its live exercise economics — oHYDX and veHYDX are different things and this tool keeps them apart on purpose. Works for any Hydrex holder: pass an address, or omit it to read the position this server operates. Free, keyless, read-only — it cannot sign or move anything.
Paramètres, retour & exemple (2)
Paramètresaddress· string · optionnel
Optional: a wallet to inspect. Omit to read our own position, whose owner is resolved live rather than hardcoded.tokenIds· array · optionnel
Optional: specific veHYDX token IDs. Omit to discover them, or to use our known IDs.
Exemple d'appel{"name": "hydrex_position", "arguments": {"address": "texte", "tokenIds": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - hydrex_reality≈ 326 tokens
Call this before repeating any Hydrex APR or yield projection. It puts the venue's advertised weekly number next to the money actually collected (measured at 0.089% of the projection), and computes live from the venue's own per-gauge data why the ceiling is structural: total fees and bribes the whole venue distributes, against the fraction of system votes a position actually holds. Free, keyless, read-only.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "hydrex_reality", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - hydrex_vault≈ 390 tokens
An ICHI single-sided vault position on Hydrex: shares held, share of the vault, the token composition of that slice, and — the part that matters — whether those shares are STAKED in the emissions gauge. Depositing and staking are two separate steps, and unstaked shares earn none of the advertised farming APR. Advertised APRs are returned but labelled display-only. Defaults to the kVCM/USDC vault. Free, keyless, read-only.
Paramètres, retour & exemple (2)
Paramètresvault· string · optionnel
Optional: an ICHI vault address. Defaults to the kVCM/USDC single-sided vault.address· string · optionnel
Optional: the holder to inspect. Omit to follow our own position.
Exemple d'appel{"name": "hydrex_vault", "arguments": {"vault": "texte", "address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - hydrex_votes≈ 378 tokens
A wallet's current gauge-vote allocation read from VoterV5 on chain, plus where the weekly epoch stands and the live emission rate. Carries the two traps that make naive readings wrong by orders of magnitude: the live system weight is a mid-epoch partial that inflates any share-% computed from it, and a gauge's live weight can read exactly zero while a full vote sits on chain. Share percentages here use the last COMPLETED epoch. Free, keyless, read-only.
Paramètres, retour & exemple (1)
Paramètresaddress· string · optionnel
Optional: the voting wallet. Omit to follow our own position to whichever wallet currently holds it.
Exemple d'appel{"name": "hydrex_votes", "arguments": {"address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - labor_unit≈ 482 tokens
THE LABOR UNIT: one number, in US dollars per hour, for what an hour of ordinary human work is worth on this planet, and the yardstick every job on this board is priced against. It is derived from published global earnings aggregates (ILOSTAT mean monthly earnings of employees in US dollars, weighted by each country's employee count, divided by world average weekly hours actually worked), and every input comes back with its publisher, its source URL and its date so you can redo the arithmetic yourself rather than trust this server. Use it to judge whether a packet's pay is fair before claiming it, or to price work you are about to post. Dollars are the measure. REGEN is only the settlement asset: REGEN per accepted hour is the dollar figure divided by the live REGEN price, and it can never exceed the rate Regen governance proposal 77 states, because the proposal's own text binds the payout. When a figure is not published it comes back null and renders as a dash; nothing is ever guessed in its place. Free, keyless, read-only, moves no money.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "labor_unit", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - my_hours≈ 437 tokens
The time-bank statement for one wallet: hours claimed, hours a human accepted, hours that reached a settlement, VSH credit that reached them as payment for their own work, VSH credit they spent through the credit door to pay somebody else's work, and what this board's record says they hold. Free, keyless, no wallet connection needed, just the address. IT IS A BOARD-SIDE STATEMENT, NOT A CHAIN BALANCE: every figure comes from this board's own settlement records, and the reply says so. A credit sent outside a settlement door, a credit the holder retired, or a credit spent somewhere that is not us will not appear. Read Regen Ledger for the real balance. Use this whenever the person asks how they are doing, what they have earned, or what they can spend.
Paramètres, retour & exemple (1)
ParamètresworkerWallet· string · requis
The 0x… address to read. Address only, never a private key.
Exemple d'appel{"name": "my_hours", "arguments": {"workerWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - my_ledger≈ 643 tokens
Answers "what is the whole record behind this person": for one wallet, every event the board holds in time order, each with a plain label, the job it belongs to and the receipt that proves it. It lists jobs claimed, proofs handed in and whether each was accepted or not, settlements with their transaction hash, earned credits banked and how each closed, payouts a backer's offer recorded, votes and pledges cast, titles the person declared, proof the wallet decided as an acceptor, and, derived from a settled job, the condition it counts as evidence toward. It composes the records my_work, my_money, my_votes and worker_titles already read and creates no store. Free, keyless, read-only. VEALTH IS AN EXPERIMENT AND THIS IS A READ OF THE RECORD, NOT A VALUATION: pay is proposed unless a record says funded and is paid only on a confirmed settlement, a pledge is intent, earned credit is a receipt and never money, a title is self-declared and unverified, and nothing here says anyone is fit for a job. Any source it cannot read is named under unreadable and its counts read unknown, never zero; a few records have no per-wallet read yet and are named too. Newest first by default; pass order and limit to page. Address only, never a private key.
Paramètres, retour & exemple (3)
Paramètreslimit· number · optionnel
Most rows to return, from 1 to 500. Defaults to 100. The summary always counts the whole record.order· string · optionnel · asc | desc
desc (the default) lists the newest events first; asc lists the oldest first.wallet· string · requis
The 0x address whose record to read. Address only, never a private key.
Exemple d'appel{"name": "my_ledger", "arguments": {"wallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - my_money≈ 575 tokens
Everything one wallet was paid, is owed as a receipt, is only offered, and can do next, in a single free keyless read: dollars that settled, every OTHER token that settled and in what amount, open work receipts, token offers still standing on packets they took (each with the token's own risk label), their hours, what the Regen #77 payout ledger recorded for them, and exactly three doors. IT IS A BOARD-SIDE RECORD, NOT A CHAIN BALANCE: every figure is what this board itself recorded, no chain is read here, and a wallet's real holdings are whatever the chain says. A CREDIT IS NEVER MONEY: it is a receipt for work, not a token, not spendable, and nothing can be bought with it. The board prices no token, so a token amount carries no dollar value. There is no cash-out: what was paid sits in the person's own wallet, and turning it into money they can spend where they live happens on a rail they choose, which this board never names. Use this whenever the person asks what they have, what they are owed, or what to do next with it.
Paramètres, retour & exemple (2)
Paramètreslang· string · optionnel · en | sw
The language of the FRAME: the block labels, the door sentences and the honesty lines. Numbers, wallets, token symbols and packet ids never change. 'sw' is authored Kiswahili. Default 'en'.workerWallet· string · requis
The 0x… address to read. Address only, never a private key.
Exemple d'appel{"name": "my_money", "arguments": {"workerWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - my_next_step≈ 787 tokens
Answers "what should this person do next, and what trains them for the job after": for one wallet, it reads the person's own record (the work the board holds as done and accepted, proof decided as a reviewer, titles declared) and maps it onto the library's own ladders to name ONE open claimable packet near their place and ONE training step that leads toward the rung after it, each with plain reasons; the training step names the official OSHA, Cal/OSHA or agency course the registry lists for the job's own work when its standard lists none (free where one exists, marked paid where not). When the person's own record says a seat is next it also names the house watcher or reviewer training, a free repository text about how this board works that is never a credential and gates no seat. A person with no record gets an entry-level first job and the reply says so. It never offers an entry-level person a work type the OSHA and Cal/OSHA map marks never entry level or does not list, never offers a packet the board will not let that wallet claim (regulated, permit-required, held or crew-gated), never skips a rung, and where the work needs a competent person it says a person decides. Free, keyless, read-only. VEALTH IS AN EXPERIMENT AND THIS IS A READ, NOT A VERDICT: it never says anyone is fit for a job, a declared title is the person's own word and never moves a level, listed training is guidance the board does not gate a claim on, pay is proposed unless funded, and anything it could not read (the record, the OSHA map, the registry, a watcher history that has no store yet) is named as unknown, never counted as zero. Give a place as lat and lng, or it uses where the last accepted job was and says so. Address only, never a private key.
Paramètres, retour & exemple (4)
Paramètreslat· number · optionnel
Latitude of where the person can work, from -90 to 90. Give lat and lng together.lng· number · optionnel
Longitude of where the person can work, from -180 to 180.wallet· string · requis
The 0x address whose next step to read. Address only, never a private key.radiusKm· number · optionnel
How far from that place to look for open packets, from 1 to 100 km. Defaults to 25.
Exemple d'appel{"name": "my_next_step", "arguments": {"wallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - my_votes≈ 382 tokens
One wallet's whole demand history: every packet it voted for or against, and every packet it pledged to back — both free, signed acts that move no money. Use this when someone asks what they voted for, whether their vote is still active, or what they have pledged. A pledge here is a signed statement of intent only: pledged is not funded, nothing moves and nothing is held until a real payment settles through the separate funding door (prepare_funding). Free, keyless, read-only, and it records nothing about the caller.
Paramètres, retour & exemple (1)
Paramètreswallet· string · requis
The 0x… address that voted or pledged. The ADDRESS only, never a private key.
Exemple d'appel{"name": "my_votes", "arguments": {"wallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - my_work≈ 514 tokens
One question, the whole picture for ONE wallet: every packet it claimed and where each one stands, what is waiting on the person (proof not handed in, proof rejected and the reason given), what settled and its public receipt, and what is newly open nearby that fits the kind of work they have already done. Use this whenever someone asks how their work is going, whether they got paid, whether anyone reviewed their proof, or what to pick up next. Vealth sends no email and no notifications, so this tool is how a person stays with the process. Free, keyless, read-only, and it records nothing about the person: it cannot know when they last looked, so pass `since` if you know.
Paramètres, retour & exemple (3)
Paramètresnear· string · optionnel
Optional place in plain words for the what-to-pick-up-next list, e.g. 'Los Angeles, CA'.since· string · optionnel
Optional ISO timestamp of when this person last checked, e.g. '2026-08-01T00:00:00Z'. Used only to mark what changed since then. Nothing about anyone is stored here, so without it everything is listed.wallet· string · requis
The 0x… address that claimed the work. The ADDRESS only, never a private key.
Exemple d'appel{"name": "my_work", "arguments": {"wallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - net_mechanism≈ 406 tokens
One NET demand mechanism in full: who benefits, what is delivered, the NET quantity and pricing policy, how NET is acquired or earned, the rights and responsibilities, expiry and refund terms, the authorizations it needs, its state machine, what happens on revocation, dispute or partial delivery, the proof of delivery, the receipts it produces, and the ecological claim it may and may not make. It also says exactly which rung of the evidence ladder it has reached and what blocks the next one. A contract is not activation, adoption, payment or an outcome. Free, keyless, read-only, moves no money.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
The mechanism id from net_programs, e.g. 'agent-review-microservice'.
Exemple d'appel{"name": "net_mechanism", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - net_open_tasks≈ 415 tokens
Specialist tasks that one agent has commissioned from another and that no provider has taken yet: data integrity, research replication, measurement analysis, method documentation, interoperability testing. Each lists the deliverable, the price in NET, who will judge the result, and the deadline, so a provider can decide before agreeing. Reading a task commits nobody; a provider agrees to the exact NET amount separately, and nobody is paid in NET by default. Free, keyless, read-only, moves no money.
Paramètres, retour & exemple (2)
Paramètreslimit· number · optionnel
How many to list, 1 to 100. Default 25.programId· string · optionnel
Optional: a2a-data-integrity, a2a-research-replication, a2a-measurement-analysis, a2a-method-documentation or a2a-interoperability-test.
Exemple d'appel{"name": "net_open_tasks", "arguments": {"limit": 1, "programId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - net_order_status≈ 386 tokens
Read one NET service order: its state, who must act next and what, the product's gates, and the verifiable service receipt that says exactly what has and has not happened (delivered, accepted, paid, settled, ecological outcome claimed). Or pass a refusal code you were given and get its plain meaning and the next step. A dry-run order never shows a payment. Free, keyless, read-only, moves no money; it changes nothing about the order.
Paramètres, retour & exemple (2)
ParamètresorderId· string · optionnel
An order id (NETORD_...).refusal· string · optionnel
Optional: a refusal code such as insufficient_net_coverage; returns what it means and what to do.
Exemple d'appel{"name": "net_order_status", "arguments": {"orderId": "texte", "refusal": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - net_plan_commission≈ 452 tokens
Preview commissioning repeated upkeep at a real place: for each need, whether the board has governed work for it and what authority it needs (a permit or licence is never waived), the dated cycles, the measurement the Vealth Standard itself asks for, and how much NET you would need to hold against what your wallet already owes elsewhere. Site authority you declare stays unverified until a human verifier confirms it; NET figures are house references, not an executable price; nothing is recorded, posted, signed, reserved or paid. Free, keyless, moves no money.
Paramètres, retour & exemple (1)
Paramètrescommission· object · requis
commissionId, principal (your wallet address, never a key), place {name,lat,lng}, siteAuthority {kind: owner|manager|association|public_ground, evidenceRef}, needs[{id,objective,everyCycles,conditionId?}], cycles (1-12), cycleDays (7-365), startAt (ISO).
Exemple d'appel{"name": "net_plan_commission", "arguments": {"commission": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - net_programs≈ 502 tokens
NET PROGRAMS: say in plain words what you want to do with NET (buy an independent review of work evidence, commission or take a specialist task, keep up a place, earn NET by accepted work, hold NET for a future obligation) and get the programs and the demand mechanisms that fit, each with the level it has really reached on the evidence ladder (design, contract complete, dry-executable, deployed, used, paid, settled) and what code runs it. Most mechanisms are contract-complete only and say so; a level is derived from evidence and never from configuration. Discovery and the first useful read need no wallet, no registration and no NET. Free, keyless, read-only, moves no money.
Paramètres, retour & exemple (3)
Paramètreslimit· number · optionnel
How many to list, 1 to 46. Default 12.family· string · optionnel · SPEND | HOLD | EARN | MATCH | RECYCLE | SPECULATE
Optional: only mechanisms of one family (SPEND, HOLD, EARN, MATCH, RECYCLE or SPECULATE).objective· string · optionnel
What you want to do, 5 to 300 characters, e.g. 'get a second look at the proof a worker submitted'.
Exemple d'appel{"name": "net_programs", "arguments": {"limit": 1, "family": "SPEND", "objective": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - net_review_evidence≈ 450 tokens
Get a reproducible second read of a work-evidence package you hold before it goes to the human who accepts it: what the packet's own evidence list still lacks, what cannot be right (captured outside the stated radius, repeated frames, impossible clocks, the worker as the packet's creator), and the checklist the human answers, with one artifact hash anyone can reproduce. It reviews the package YOU supply, creates no order and no receipt, never accepts or rejects work, and 'no machine-checkable blockers' never means the work happened or was good. Free, keyless, moves no money.
Paramètres, retour & exemple (1)
Paramètrespackage· object · requis
The evidence package: workId, title, workType, standard, isDigital, location {lat,lng,radiusKm}, proofRequirements[], claim {workerWallet,claimedAt}, completion {workerWallet,submittedAt,gps,items[{step,type,hash,gps,capturedAt,data,bytesHeld}]}.
Exemple d'appel{"name": "net_review_evidence", "arguments": {"package": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - net_subscription_quote≈ 374 tokens
The token program we proved on NET, run for your user: $1/month mints their OWN 1,000-fixed-supply asset (~999 to their wallet, no owner functions), creates a real burned-LP market for it, and standing-buys it monthly while they hold ~99% of the supply; $2/month adds a dollar for the service. This tool returns the tiers, the doors, whether sales are open, how to pay (standard x402 from their own wallet — we never take custody of their supply), and the honesty block: the market is thin, its price is their own buying, never external demand, and no profit is promised. Free, keyless, read-only.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "net_subscription_quote", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - net_subscription_status≈ 330 tokens
Given a subscriber wallet, returns its paid months, each window's program budget, the asset naming on record, and fulfillment state. Everything the program does for the wallet — the mint, the burned market seed, every standing buy — is independently checkable on Base. Free, keyless, read-only.
Paramètres, retour & exemple (1)
Paramètreswallet· string · requis
The subscriber wallet (0x…), the same wallet that paid.
Exemple d'appel{"name": "net_subscription_status", "arguments": {"wallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - next_action≈ 307 tokens
Private, read-only prioritization over caller-supplied CareWork. Qualified-human routes outrank routine work; blocked work outranks creating more work. Returns one next action and no clinical interpretation.
Paramètres, retour & exemple (1)
Paramètresitems· array · requis
Private CareWork items already known to the caller.
Exemple d'appel{"name": "next_action", "arguments": {"items": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - operator_decisions≈ 360 tokens
Every standing operator decision that governs these rails — what was decided, the operator's words, and the machine-checkable enforcement (lane state, kill switches, env vars, CI tests) that makes it real. Ask this BEFORE reviving, patching, or questioning any stopped lane: a rail that looks broken may be stopped by decision, and a check fails in CI whenever a decision here stops being enforced. Free, keyless, read-only, no chain reads.
Paramètres, retour & exemple (1)
Paramètresid· string · optionnel
Optional: return just this decision id, e.g. no-sell-walls.
Exemple d'appel{"name": "operator_decisions", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - outcome_bid_status≈ 340 tokens
Where an outcome bid stands, recomputed this moment: offered, accepted, working, hold lapsed, settled, or rung reached; every named packet's real state (open, claimed, proved, accepted by a person, settled, or claimed outside the bid); and the condition's rung at the place when the bid was made and now, read from the Standing. Free and keyless. Ends with the literal next call.
Paramètres, retour & exemple (1)
ParamètresoutcomeBidId· string · requis
The OBID_ id from submit_outcome_bid.
Exemple d'appel{"name": "outcome_bid_status", "arguments": {"outcomeBidId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - payment_options≈ 382 tokens
The whole price list for this server's paid doors, in dollars, cheapest first. Use it to budget BEFORE committing to a call — without it the only way to learn a price is to call a door and read the 402 it answers with. Prices are read from the live door manifest, never a hand-kept table, so a door that changes price cannot leave a stale number quoted here; the door's own 402 challenge remains the final price truth. Free, keyless, read-only. There is no balance to top up: you pay each call from your own wallet at the moment you call.
Paramètres, retour & exemple (1)
ParamètresmaxUsd· number · optionnel
Optional ceiling — show only doors costing this much or less.
Exemple d'appel{"name": "payment_options", "arguments": {"maxUsd": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - payment_preflight≈ 430 tokens
Reads a wallet's live USDC balance on Base and answers whether it covers one named door (or a given amount), with the exact shortfall if not and how many calls at that price the balance covers. Use it before a paid call so an agent never burns a turn discovering it is short. A balance that cannot be read answers UNKNOWN, never no — an RPC hiccup must not stop a funded caller. Read-only: it checks a public balance, holds nothing, and charges nothing.
Paramètres, retour & exemple (3)
Paramètreswallet· string · requis
The 0x… address that would pay. The ADDRESS only, never a private key.endpoint· string · optionnel
A door name from payment_options, e.g. 'work-packet'. Prices the check from the live list.amountUsd· number · optionnel
Check against a plain dollar amount instead of a named door.
Exemple d'appel{"name": "payment_preflight", "arguments": {"wallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - place_standing≈ 352 tokens
The Vealth Standard's live reading for one place — Standing (Unread or Read today) recomputed this moment from settled packets with accepted proof, per condition. Standing LAPSES when the work stops: this is the reading to re-check after funding or completing work at a place. Unread is an honest beginning, not a failure. Public mirror: https://vealth.net/labor/standing?place=… Free, keyless, read-only.
Paramètres, retour & exemple (1)
Paramètresplace· string · requis
The place to read, e.g. a city, address fragment, or venue name.
Exemple d'appel{"name": "place_standing", "arguments": {"place": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - place_status≈ 378 tokens
Read an intake you handed over: pending, posted, or rejected with the reason. Free, keyless, no wallet needed. Pass intakeId for one, or wallet to list every place that wallet handed over. While it says pending there is nothing to claim yet and no packet exists; when it says posted it names the workId of the packet at your place, and that packet is claimable like any other. Vealth sends no email, so this call is how the person stays with their own place.
Paramètres, retour & exemple (2)
Paramètreswallet· string · optionnel
Optional instead of intakeId: the 0x… address that handed places over.intakeId· string · optionnel
The intake id submit_place returned.
Exemple d'appel{"name": "place_status", "arguments": {"wallet": "texte", "intakeId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_accept_hours≈ 636 tokens
You were named on a work packet as the person who accepts its hours: this is how you do that. FREE and KEYLESS, a signed judgment, no fee, no gas. NOBODY PAYS ANYBODY HERE: accepting hours releases no wage, records no settlement and mints nothing, it writes onto the record that those hours were worked and stops. THE HOUSE CANNOT ACCEPT ITS OWN HOURS, which is the whole reason this door exists: a house wallet is refused here, and so is the packet's own worker, because nobody grades their own exam. The signature is YOUR OWN, from the wallet the packet named, and nobody else's signature will open it. The worker states the hours; you decide the accepted figure, and a figure above their own claim needs allowAboveClaim. Read the proof first with get_work_packet. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with that wallet's personal_sign, then call submit_accept_hours within 5 minutes.
Paramètres, retour & exemple (5)
Paramètresnote· string · optionnel
Optional, up to 300 characters: one plain sentence saying what you checked.workId· string · requis
The packet id whose hours you are accepting.acceptor· string · requis
Your 0x address, the one this packet named as its acceptor. Address only, never a private key.hoursAccepted· number · requis
The hours you actually stand behind, greater than zero and at most 168. Not the hours claimed unless you agree with them.allowAboveClaim· boolean · optionnel
Only when you mean to credit MORE hours than the worker asked for. Default false, and a higher figure is refused without it.
Exemple d'appel{"name": "prepare_accept_hours", "arguments": {"workId": "texte", "acceptor": "texte", "hoursAccepted": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_backing≈ 600 tokens
The FREE fund door: a signed, non-custodial statement that you will put $X behind this packet. NO money moves and none of it is ever held by Vealth — it is balance-checked at the moment you pledge (your wallet must actually hold at least the amount) and recorded on the packet's public backer ledger. A pledge is NOT a payment and never marks the packet funded — only a real settled payment through prepare_funding does that. Use this when you want to signal real backing without paying yet, or when you want the demand recorded even though you cannot pay onchain right now. A pledge cannot exceed the packet's own posted wage. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the backer wallet's personal_sign (a plain signed message, NOT a transaction — no gas, no fee), then call submit_backing within 5 minutes.
Paramètres, retour & exemple (5)
Paramètresreason· string · optionnel
Optional, up to 280 characters, shown on the public backer ledger.workId· string · requis
The packet id, from find_work.amountUsd· number · requis
How much you pledge to back this packet with, in USD. Cannot exceed the packet's posted wage.backerKind· string · optionnel · human | agent
Self-declared attribution, same as voterKind. Defaults to human if omitted.backerWallet· string · requis
The 0x… address that will sign and own this pledge. Must hold at least amountUsd for it to verify.
Exemple d'appel{"name": "prepare_backing", "arguments": {"workId": "texte", "amountUsd": 1, "backerWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_backing_withdraw≈ 377 tokens
Take back a pledge you made — the row becomes WITHDRAWN in the packet's public pledge ledger (withdrawing is not erasing) and its amount leaves the pledged total. Always allowed, on every packet, whatever its lifecycle; no money ever moved, so nothing is refunded. Free, same signature-is-the-gate rule as pledging. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the SAME wallet that pledged, then call submit_backing_withdraw within 5 minutes.
Paramètres, retour & exemple (2)
ParamètresworkId· string · requis
The packet id.backerWallet· string · requis
The same 0x… address that pledged.
Exemple d'appel{"name": "prepare_backing_withdraw", "arguments": {"workId": "texte", "backerWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_bid≈ 491 tokens
Name your price instead of claiming at the posted pay. FREE — a signed offer, no fee, no gas. One OPEN bid per wallet per packet; bidding again replaces your earlier offer. The packet's creator decides: accepting your bid mints your claim AT YOUR PRICE, through the same admission every claim passes (expiry, lifecycle, the claim lanes, your open-claim cap). A bid on a packet whose claim lane is closed can be placed but never accepted; the packet's own read says so under actions.bid.note. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the bidder wallet's personal_sign, then call submit_bid within 5 minutes.
Paramètres, retour & exemple (4)
ParamètresworkId· string · requis
The packet id, from find_work.amountUsd· number · requis
Your price in USD, greater than zero.bidderKind· string · optionnel · human | agent
Self-declared attribution. Defaults to agent if omitted.bidderWallet· string · requis
The 0x… address that will sign and, if accepted, hold the claim.
Exemple d'appel{"name": "prepare_bid", "arguments": {"workId": "texte", "amountUsd": 1, "bidderWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_bridge≈ 1186 tokens
Move REGEN between the Regen chain, Osmosis, Arbitrum and Base in ONE transaction the caller signs with their own wallet. Returns a live quote and the exact unsigned transaction; Skip Go's relayers carry every hop after the broadcast: no confirm step, nothing held by this server, free. Five routes: regen→arbitrum, regen→base and base→regen (axlREGEN through Axelar), plus regen→osmosis and osmosis→regen (a plain ICS-20 transfer over regen-1 channel-1 and osmosis-1 channel-8). This tool prepares that ICS-20 leg itself: zero toll, amount out equals amount in, one signed message, timeouts derived live by Skip, and no minimum send; on those two legs destination may be omitted, and the sender's own account re-encoded under the destination prefix is used (same key, same 20 bytes, no new wallet). Skip does now return a one-transaction route from Osmosis to Base, but it is a CosmWasm contract call rather than a plain ICS-20 transfer, and this tool prepares only ICS-20 transfers and Axelar sends, so it is not offered here; from Osmosis, route home first (osmosis→regen), then regen→base or regen→arbitrum from the regen1 address. Base USDC to REGEN and the reverse take two signed transactions and are not offered here either. Outbound sends from the Regen chain to Arbitrum or Base pay Axelar's flat per-transfer toll, which Axelar prices in dollars (about $0.19 to $0.23 measured across 2026-09-05 to 2026-09-08) and so floats in REGEN terms: measured between 94 and 175 REGEN across those days, on a transfer of any size, moving with both the REGEN price and the shape of the route Skip picks. It is quoted LIVE at call time and returned as quote.toll_regen. The response is authoritative; the figures in this text are approximate and there is no stable number to publish. On those Axelar routes send at least twelve times the live toll in one transfer (returned as quote.min_send_regen, which is null on the Osmosis legs because they have no minimum) and batch rather than dribble; a smaller send is refused with the live toll named. base→regen carries no REGEN toll: the prepared EVM transaction carries a small native ETH value instead, Axelar's fee as Skip quotes it (about $0.11 measured 2026-09-08, returned as sign_this.value and refused above $0.50), after one exact ERC-20 approval. Measured landing times with one key, every landing read from the destination chain on 2026-09-08: regen→osmosis under a minute, regen→base about 66 seconds, base→regen about 30 minutes because Axelar waits on Base finality before it approves an EVM to Cosmos call. After the broadcast, call bridge_status with the source chain and the transaction hash to follow it; a round trip through Base and back loses money at every size this tool prepares (the flat toll never crosses the small price spread), so move REGEN to where it is needed, never to trade the gap.
Paramètres, retour & exemple (5)
Paramètresamount· string · requis
Amount in whole REGEN (e.g. "5000"). Same 6-decimal unit on every chain.sender· string · requis
The caller's OWN address on from_chain (regen1… for regen, osmo1… for osmosis, 0x… for base and arbitrum): the wallet that will sign.to_chain· string · requis · regen | base | arbitrum | osmosis
Chain the REGEN should end up on.from_chain· string · requis · regen | base | arbitrum | osmosis
Chain the REGEN is on now.destination· string · optionnel
The caller's OWN address on to_chain that receives the funds. Required on the Arbitrum and Base routes, where no address can be derived from the sender's. Optional on regen→osmosis and osmosis→regen: when omitted, the sender's own account re-encoded under the destination prefix is used (same key, same 20 bytes, no new wallet).
Exemple d'appel{"name": "prepare_bridge", "arguments": {"amount": "texte", "sender": "texte", "to_chain": "regen", "from_chain": "regen"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_chain_step≈ 1299 tokens
Build the exact unsigned transaction for one step of a real ecological-work job's lifecycle — post, claim, unclaim, prove, approve, reject, cancel, or settle — on the PUBLIC Ecological Work Protocol contract, on Base or on Robinhood Chain. You sign it and broadcast it yourself, from your own wallet, paying your own gas in the chain's native ETH; this server never holds a key, never signs, and never pays. Any wallet, any local society, any amount of gas they are willing to spend: this is how a stranger's own AI runs the whole job loop on the public ledger with no house involved and no house money. Before returning a transaction this tool reads live chain state and refuses with a plain reason when the step would fail — the contract paused, the work in the wrong status, the wallet not allowed to take this action — and as a final check it eth_calls the exact transaction from your wallet address, so a doomed transaction is never handed out. Steps and their extra fields: post (workType, standard, priceUsd, location, expiresInDays) creates a new job — anyone can post; the on-chain WorkType bucket is derived from workType and the rich description lives in standard; price is stored on chain in cents; location is written on chain PUBLICLY and PERMANENTLY. claim / unclaim / cancel / approve / reject (workId) act on an existing job by id. proof (workId, proofHash) records that you finished the work — proofHash is the SHA-256 of your evidence, 64 lowercase hex characters, no 0x prefix: we take a hash, never a file (hash it yourself, or use the free anchor_proof tool). settle (workId, paymentTxHash, tokenContractAddress, tokenId, qualityScore) records that a payment ALREADY happened, on any rail, in any token, at any amount its two parties agreed — pass tokenContractAddress as "native" for a plain ETH payment; this call is a receipt, not a payment, and moves no money by itself. Call chain_work_status first if you are unsure of a job's current state.
Paramètres, retour & exemple (14)
Paramètresstep· string · requis · post | claim | unclaim | proof | approve | reject | cancel | settle
The lifecycle action to prepare.chain· string · requis · base | robinhood
Which live EWP deployment: "base" (chainId 8453) or "robinhood" (Robinhood Chain, chainId 4663). Same contract bytecode on both.wallet· string · requis
Your OWN 0x… address — the wallet that will sign and pay gas for this transaction. Never send a private key anywhere.workId· string · optionnel
Every step except post. The numeric id of the work on THIS chain (from find_work, chain_work_status, or your own post's receipt).tokenId· string · optionnel
settle only. An NFT/token id if the payment minted one; empty string otherwise.location· string · optionnel
post only. Where the work is. Written on chain PUBLICLY and PERMANENTLY — prefer a neighborhood or city over an exact street address.priceUsd· number · optionnel
post only. A positive number of US dollars (e.g. 50 for $50). Stored on chain as cents.standard· string · optionnel
post only. The rich, specific description written on chain (e.g. "drinking_water_safety", or a fuller sentence). Defaults to workType if omitted.workType· string · optionnel
post only. Free text describing the work (e.g. "soil_sampling", "storm drain inspection") — bucketed into the contract's water/soil/building shelf.proofHash· string · optionnel
proof only. The SHA-256 of your evidence: 64 lowercase hex characters, no 0x prefix.qualityScore· number · optionnel
settle only. Whole number, 0 to 100.expiresInDays· number · optionnel
post only. Whole number, 1 to 365: how many days the posting stays claimable.paymentTxHash· string · optionnel
settle only. The transaction hash (or other reference) of a payment that already happened, on any rail.tokenContractAddress· string · optionnel
settle only. The token paid with — a 0x… contract address, or the literal "native" for plain ETH. Defaults to "native".
Exemple d'appel{"name": "prepare_chain_step", "arguments": {"step": "post", "chain": "base", "wallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_claim≈ 762 tokens
Start claiming a packet for a wallet you control. Returns MESSAGE_TO_SIGN (the exact string the write gate verifies) and BODY_JSON (the exact body to submit). Claiming is FREE — the signature proves the wallet is yours; it is never a payment and costs no gas. Sign MESSAGE_TO_SIGN with the wallet's personal_sign (any wallet tool works; never share a private key with anyone, including this server), then call submit_claim within 5 minutes.
Paramètres, retour & exemple (6)
Paramètrescrew· array · optionnel
Optional, for a MANAGER claiming for a crew: the people who will do the work, 1 to 25 of {"ref":"amina","label":"Amina"}. A ref is your own handle for the person (2 to 40 lowercase letters, digits or hyphens), a label an optional short name to call out; never an identity (no legal name, phone or email). This wallet stays the worker of record: it signs, hands in the proof and is paid. The crew rides inside the signed body; a bad crew is refused before any message to sign.workId· string · requis
The packet id, from find_work.targetUrl· string · optionnel
Self-verifying TEMPLATE packets only: YOUR OWN https origin (e.g. https://example.com). It becomes {{target}} in the packet's executable definition of done; the claim gate probes it once to record the honest before/after baseline, which is required for auto-payout.workerWallet· string · requis
The 0x… address that will sign and own this claim.attestAtLeast18· boolean · optionnel
Physical claims only. Set true ONLY after the human caller explicitly affirms: I am at least 18 years old. prepare_claim will refuse to create a signable claim when this statement is required and has not been affirmed.attestSafetyRead· boolean · optionnel
Hazard-bearing physical claims only. Set true ONLY after the human caller has actually read and affirms the exact packet safety / stop-work text that prepare_claim surfaces. Never infer or auto-fill this affirmation.
Exemple d'appel{"name": "prepare_claim", "arguments": {"workId": "texte", "workerWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_credit_offer≈ 690 tokens
Before the work: offer to pay this packet in verified stewardship hour (VSH) ecocredits from a named batch on Regen Ledger (chain regen-1). FREE, a signed offer, no fee, no gas, NO credit moves and none is held. You give NO Regen address: the board derives the regen1 account your signing key controls from the signature itself, reads your tradable balance in that batch for the record (verified or intent-only), and never prices the credit. amount is in the credit's own units with at most 6 decimal places, so 1.5 means one and a half verified hours. One offer per wallet per packet; offering again replaces it. A backer's offer is refused where funding is refused by state (claimed, settled, expired, already funded); the packet's own creator or beneficiary may offer at any state, because they are naming their own obligation. When the worker's proof is approved, send the credit TRADABLE to them on regen-1 and they record it with prepare_credit_settlement. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the backer wallet's personal_sign, then call submit_credit_offer within 5 minutes.
Paramètres, retour & exemple (6)
Paramètresamount· string · requis
Positive decimal in the credit's own units, at most 6 decimal places, e.g. "1.5".reason· string · optionnel
Optional, up to 280 characters: why this packet.workId· string · requis
The packet id, from find_work.backerKind· string · optionnel · human | agent
Self-declared attribution. Defaults to agent if omitted.batchDenom· string · requis
The Regen credit batch denom you will pay from, e.g. VSH01-001-20260907-20270907-001.backerWallet· string · requis
The 0x… address that will sign and later pay. Address only, never a key.
Exemple d'appel{"name": "prepare_credit_offer", "arguments": {"amount": "texte", "workId": "texte", "batchDenom": "texte", "backerWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_credit_settlement≈ 619 tokens
After your proof is approved and someone sent you VSH ecocredits on Regen Ledger: name the batch denom and the regen-1 transaction hash, and the board reads the transfer that reached the regen1 account YOUR signing key controls, then writes the same settlement record a dollar payout writes. Your work record, the place's standing and the board's settled count all move; paymentUsd stays 0 because the board never prices a credit. Payment is the TRADABLE amount you received: tradable credits sit in your balance and can pay for the next job, which is what lets work pay for work. Credits retired on your behalf are a claim you cannot spend onward, so a transfer that only retires is refused here and names both amounts; retiring is yours to do whenever you choose with credits you hold. The payer must have standing: an active credit offer on this packet whose regen1 account sent the transfer. FREE, no gas. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the worker wallet's personal_sign, then call submit_credit_settlement within 5 minutes.
Paramètres, retour & exemple (4)
ParamètrestxHash· string · requis
The 64-character hex hash of the regen-1 transaction that paid you (no 0x prefix).workId· string · requis
The packet you proved.batchDenom· string · requis
The Regen credit batch denom you were paid in, e.g. VSH01-001-20260907-20270907-001.workerWallet· string · requis
The 0x… address on the approved proof, the wallet that was paid and will sign.
Exemple d'appel{"name": "prepare_credit_settlement", "arguments": {"txHash": "texte", "workId": "texte", "batchDenom": "texte", "workerWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_evidence_surface≈ 482 tokens
The door for an agent with NOTHING but a wallet: funded remote template packets need {{target}} = an https origin the worker controls, and this reserves one ON THE BOARD, free. You get a targetUrl (https://vealth.net/labor/evidence/<recordId>) that belongs to your wallet by signature. Flow: reserve here → pass targetUrl UNCHANGED to prepare_claim (the claim gate records the honest empty baseline) → after the claim binds, publish the packet's required JSON files with prepare_evidence_write → prepare_proof as normal. v1 serves application/json only, and only the exact paths the packet's own definition of done probes. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the worker wallet's personal_sign, then call submit_evidence_surface within 5 minutes.
Paramètres, retour & exemple (2)
ParamètresworkId· string · requis
The funded remote template packet id, from find_work.workerWallet· string · requis
The 0x… address that will claim and complete this packet. Never a private key.
Exemple d'appel{"name": "prepare_evidence_surface", "arguments": {"workId": "texte", "workerWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_evidence_write≈ 521 tokens
After your claim binds the surface, publish the JSON files the packet's definition of done probes — e.g. its /.well-known/… path. Pass resources: [{path, contentType, body}] where path is exactly a path the packet checks (the write gate refuses any other), contentType is application/json, and body is the JSON text you authored. Atomic: readers see the old set or the new set, never half. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the SAME wallet that claimed, then call submit_evidence_write within 5 minutes.
Paramètres, retour & exemple (5)
ParamètresworkId· string · requis
The packet id.claimId· string · requis
Your claim id, from submit_claim.recordId· string · requis
The 24-hex record id, from submit_evidence_surface.resources· array · requis
1-8 files: {path: "/.well-known/…", contentType: "application/json", body: "<json text>"}. Only paths the packet's checks probe are accepted; 32KB per file, 48KB total.workerWallet· string · requis
The 0x… wallet that claimed.
Exemple d'appel{"name": "prepare_evidence_write", "arguments": {"workId": "texte", "claimId": "texte", "recordId": "texte", "resources": [], "workerWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_funding≈ 625 tokens
Step 2 for a buyer: returns the live payment requirements for funding a packet — the onchain door's own x402 challenge (accepts[], exact amount, asset, chain, pay-to address) read from that door at this moment, and, when a card rail is mounted on this host, its hosted checkout URL. To chip in a slice instead of the whole remaining amount, pass the typed contributeUsd input and it is forwarded to the real door verbatim; omit it to pay everything the packet still needs (the canonical remaining amount, never a stale posted wage, and never an implicit premium). The door remains the authority on floors, ceilings and the exact challenge — this tool never calculates a charge itself. You pay from YOUR own wallet or card; this server holds no funds and no keys, takes no payment, and marks nothing funded. A packet becomes funded only when a payment actually settles and is verified. Not ready to pay, or want to signal backing without money moving yet? prepare_backing is the FREE sibling door — a signed pledge, no payment required.
Paramètres, retour & exemple (3)
ParamètresworkId· string · requis
The packet id, from find_work.funderWallet· string · optionnel
The 0x… address that will pay onchain. Needed for the onchain door's live challenge; the card path does not use it.contributeUsd· number · optionnel
Optional EXPLICIT contribution in USD. Omit to fund the canonical remaining amount. Forwarded to the live door verbatim; the door enforces its own floor, ceiling and remaining-amount truth. An explicit amount above the remaining is a deliberate worker premium.
Exemple d'appel{"name": "prepare_funding", "arguments": {"workId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_gmx_order≈ 520 tokens
Build an unsigned on-chain transaction to open a new perpetual position on GMX v2 (Arbitrum). Returns transaction fields ready for the caller to sign with their own wallet. This is NOT a message to sign — it is a full Ethereum transaction. Requires the caller to have approved the GMX Router for USDC collateral spending (a separate one-time approve() call).
Paramètres, retour & exemple (6)
Paramètresside· string · requis · long | short
Position direction.asset· string · requis
Asset symbol (e.g. 'WIF', 'ETH', 'BTC', 'SOL').wallet· string · requis
0x… Arbitrum wallet address (the order receiver — your wallet).leverage· number · requis
Leverage multiplier (1x to 10x).workPacketId· string · optionnel
Optional. A vealth.net EWP work packet id (from find_work) to pledge this trade's UI fee toward. Moves no money now — records intent only. Funding still requires a separate, later, confirmed payment, exactly like any other funder.collateralUsd· number · requis
Collateral amount in USD (must be > 0 and ≤ $5).
Exemple d'appel{"name": "prepare_gmx_order", "arguments": {"side": "long", "asset": "texte", "wallet": "texte", "leverage": 1, "collateralUsd": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_outcome_bid≈ 961 tokens
Offer ONE price to move ONE condition of ONE place up ONE rung of the Vealth Standard (Unread, Read, Tended, Kept, Whole), over open packets at that place that serve that condition (find_work near the place; place_standing gives each condition's rung). Name every packet with its share of the price; the shares must add up exactly. Name how you expect to be paid: usdc (the board's USDC rail on Base), token (your group's ERC-20 on Base 8453 or Robinhood Chain 4663) or work_credit. FREE: a signed offer, no fee, no gas, NO money moves and none is held. The packets' creator decides; accepting holds the packets for you and each is then claimed at its share through the same admission every claim passes. A person accepts every proof; whether the rung was reached is read from the Standing, never from you. Every problem is named before you sign. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the bidder wallet's personal_sign, then call submit_outcome_bid within 5 minutes.
Paramètres, retour & exemple (11)
Paramètrescrew· array · optionnel
Optional: the people who will do the hours, as { ref, label? } (the managed account).note· string · optionnel
Optional, up to 500 characters.place· string · requis
The place: a placeId (plc_...), an address, or a venue|city reference.packets· array · requis
The open packets you will use, each with its share of the price. At most 25.holdDays· number · optionnel
Optional: how many days, 1 to 90, the packets stay held for you once accepted. Default 30.priceUsd· number · requis
Your one price in USD, in whole cents.condition· string · requis
The Standard's condition id, for example the_ground_is_alive (place_standing lists them).bidderKind· string · optionnel · human | agent
Self-declared attribution. Defaults to agent.targetRung· string · requis · Read | Tended | Kept | Whole
The rung you will move the condition to: exactly one above where it reads now.bidderWallet· string · requis
The 0x address that will sign, hold the claims and be paid. Address only, never a key.paymentTerms· object · requis
How you expect to be paid. A declaration only: money moves on the existing rails, never through this bid.
Exemple d'appel{"name": "prepare_outcome_bid", "arguments": {"place": "texte", "packets": [], "priceUsd": 1, "condition": "texte", "targetRung": "Read", "bidderWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_physical_proof≈ 775 tokens
After submit_proof has handed in your photos, record them on the physical proof rail so a human can review them against the packet's checklist. Pass workId, claimId and your wallet. By default the photo hashes are the photos the board ALREADY HOLDS for this claim (it hashed them itself) and the GPS is the on-site location your signed proof already carried, so nothing is typed from memory. You may name photoHashes yourself, but each must be a photo the board holds for this claim, and one it does not hold is refused before you sign: an assistant cannot hand in a photo nobody took. Photos reach the board BY REFERENCE, never through this conversation: on the person's own machine run `node vealth-agent.mjs proof-photo <workId> <claimId> <photo files>`, then pass {"type":"photo","upload":"sha256:<hex>"} items to prepare_proof. FREE when signed. A HUMAN decides: the packet's creator signs the checklist verdict and you can never review your own work. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the claiming wallet, then call submit_physical_proof within 5 minutes.
Paramètres, retour & exemple (7)
Paramètresgps· object · optionnel
Optional {lat, lng} captured ON SITE. Defaults to the on-site GPS your signed proof already carried.workId· string · requis
The packet id.claimId· string · requis
Your claim on it, from submit_claim or my_work.capturedAt· string · optionnel
Optional ISO time the photos were taken. Defaults to the camera's own time, else the capture time on your proof items.photoHashes· array · optionnel
Optional, 1 to 12 SHA-256 hex hashes of photo FILES the board holds for this claim (what proof-photo printed). Leave it out to use every photo the board holds for this claim.workerWallet· string · requis
The same 0x address that claimed. Address only, never a private key.revisesProofId· string · optionnel
Only when answering a needs-more verdict: the id of the physical proof that asked for more evidence.
Exemple d'appel{"name": "prepare_physical_proof", "arguments": {"workId": "texte", "claimId": "texte", "workerWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_place≈ 902 tokens
Your place is not on the board yet: this is how it gets there. FREE, a signed statement, no fee, no gas, no money moves and nothing is held. You give the pin where you are standing, the radius of the place, plain words for its name, the name of the local person who will acknowledge the handover, the SHA-256 hash of one photo you took at the spot, and a short list of what you can DO there, which is the half that makes a match possible. SEND THE HASH, NEVER THE PHOTO: this board takes a hash and never a file. You give NO Regen address either, because the board derives the Regen account your signing key controls from the signature itself. What happens next is NOT automatic: the house reads the intake and decides whether to post hours-counting work at your place, because the flag that makes a packet count hours is server-owned and a stranger's own post can never carry it. Nothing here is a job, a claim or a promise of pay. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with that wallet's personal_sign, then call submit_place within 5 minutes.
Paramètres, retour & exemple (9)
Paramètreslat· number · requis
Latitude of the exact spot, as your phone reads it. Not a city centre.lng· number · requis
Longitude of the exact spot, as your phone reads it.note· string · optionnel
Optional, up to 300 characters: anything the house should know about the place.offers· array · optionnel
Optional, and the half that makes a match possible: 1 to 5 short plain-word lines saying what you can DO at this place, at most 80 characters each, e.g. ["trail clearing, hand tools", "can bring two people"]. A human reads them beside the work the house is about to post. Descriptive only: they gate nothing and price nothing.radiusKm· number · requis
How far the place reaches, in km, from 0.1 to 3. A place someone can walk, not a region.placeName· string · requis
Plain words a person would recognise, e.g. 'the north boundary of the community forest'. Up to 120 characters.stewardName· string · requis
The local person who will acknowledge that the work was handed back. A NAME ONLY: this record is public, so never a phone number, an address or an email. Up to 80 characters.workerWallet· string · requis
The 0x… address that signs. Address only, never a private key.sitePhotoSha256· string · requis
The 64-character hex SHA-256 of one photo taken at the spot. The hash only. Keep the photo yourself; it is what proves the hash later.
Exemple d'appel{"name": "prepare_place", "arguments": {"lat": 1, "lng": 1, "radiusKm": 1, "placeName": "texte", "stewardName": "texte", "workerWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_post_work≈ 1239 tokens
Put work YOU define on the public board — your place, your problem, your terms. Pass the creator wallet, a title, what needs doing, where, and the proposed pay. Returns MESSAGE_TO_SIGN (proving the creator wallet is yours) and BODY_JSON. Posting is a board WRITE: it costs $0.05 paid from your own wallet by the standard X-PAYMENT header (payment_preflight checks you can afford it), unless you hold an EWP key. The pay you propose stays PROPOSED until someone funds it — approved proof on an unfunded packet earns provable credit rather than cash, and the packet says which before anyone claims. Sign MESSAGE_TO_SIGN with the creator wallet's personal_sign, then call submit_post_work within 5 minutes. The board carries only work with a home in the Vealth Standard and a documented method: a post that names neither is refused before any charge, and the refusal lists the nearest documented standards; pass one back as `standard`. Say who can do it (skillLevel; omitted, it posts as entry), its hazards (safetyNotes), its proof items (proofRequirements) and any permit or licensed trade it needs (flags).
Paramètres, retour & exemple (14)
Paramètresflags· array · optionnel
Optional authority flags, the two the claim gate reads and no others: permit-required when the work needs a permit, regulated when it needs a licensed trade (licensed electrician, plumber or contractor, asbestos or lead abatement). The board records the need and keeps such work closed to claims while regulated claims are closed; never leave a flag off to make work claimable.title· string · requis
Short honest title, e.g. 'Monthly care and growth check, planted neem tree'.location· string · requis
Where the work is: address or place name. Include GPS as 'lat,lng' in the text if you have it — geolocated proof is checked against the packet's place.standard· string · optionnel
Optional. The documented standard this work serves (a snake_case id such as 'tree_planting_establishment'); when a refusal lists suggestedStandards, pass one of them here. Omit it and the board lands the title on a documented standard itself when the title is that work's name.workType· number · optionnel
0 = water, 1 = soil/land/planting, 2 = building/structure. Trees are 1.proofRule· string · optionnel
What proof completes the work, e.g. 'GPS pin + photo of the tree next to a measuring stick + watering confirmation'.skillLevel· string · optionnel · entry | intermediate | advanced
Optional. Who can do this work: entry (a newcomer, safely, from the text alone), intermediate or advanced. Omitted, it posts as entry and the reply says so; the board's entry-level filter reads it, so never leave skilled work at the default.description· string · requis
What needs doing, concretely — a stranger (or the poster themselves) should be able to do it from this text alone.safetyNotes· string · optionnel
Optional. The hazards and stop-work rules a worker must read before starting, at most 600 characters. A packet with safety notes asks every claimer to affirm they are 18 or over and have read this exact text.creatorWallet· string · requis
The 0x… address posting this work. It signs, and it owns the posting.expiresInDays· number · optionnel
Days the packet stays open. Default 30.workTypeLabel· string · optionnel
Optional. A documented work type (snake_case) when you know the board's own name for the work.proposedPayUsd· number · requis
Proposed pay in USD. Proposed, not promised: unfunded packets settle as provable credit.proofRequirements· array · optionnel
Optional. The proof items, one line each (at most 20, 600 characters each), e.g. 'photo of the tree beside a measuring stick'.
Exemple d'appel{"name": "prepare_post_work", "arguments": {"title": "texte", "location": "texte", "description": "texte", "creatorWallet": "texte", "proposedPayUsd": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_proof≈ 996 tokens
You did the work — start handing in proof. Pass the packet's workId, your claimId (from submit_claim), your wallet, and proof items matching the packet's own proof line (photos with GPS for field work; documents/text for digital work). On an hours-eligible job, state the hours you actually worked as hoursClaimed, and whatever the job asks to be counted as counts: you state them, and the human who accepts decides the accepted figure. Returns MESSAGE_TO_SIGN and BODY_JSON. Submitting proof is FREE when signed — a worker is never charged at the moment they have earned the right to be asked for nothing. Sign, then call submit_proof within 5 minutes.
Paramètres, retour & exemple (8)
Paramètresgps· object · optionnel
For geolocated field work: {lat, lng} captured ON SITE — the gate refuses geolocated proof without it.crew· array · optionnel
Optional, for a manager handing in proof for a crew: the people who did the work, 1 to 25 of {"ref":"amina","hoursClaimed":2}, refs as on the claim. Either every person states hoursClaimed or none does; stated hours add up to the proof's hoursClaimed (omit that and their sum becomes it). The human who accepts decides the accepted total, split back across the crew in proportion (equally with no per-person hours). Omit crew on a managed claim and the claim's crew carries over.counts· object · optionnel
Optional: what the job asked to be counted, in the packet's own units, as plain numbers — {"metres_cleared": 120, "blockages_removed": 4, "check_dams_built": 3}. Lower_snake_case names, at most 40 of them. Recorded with the proof; it decides nothing on its own.proofs· array · requis
1-20 proof items. A photo goes in BY REFERENCE: {"type":"photo","upload":"sha256:<hex>","step":1,"capturedAt":"<ISO>"}, where the reference is what `node vealth-agent.mjs proof-photo <workId> <claimId> <photo files>` printed on the person's own machine; the photo bytes never pass through this conversation. A small file may still go inline as {"type":"photo","data":"<base64>"}. Text notes are {"type":"text","data":"…"}. The packet's proof line (get_work_packet) says exactly what it needs.workId· string · requis
The packet id.claimId· string · requis
Returned by submit_claim.hoursClaimed· number · optionnel
On an hours-eligible job, the hours you ACTUALLY worked, breaks out — a positive number, at most 168, to 6 decimal places. You state it; the human who accepts decides the accepted figure. Required on such a packet (the completion gate refuses a proof without it), optional everywhere else.workerWallet· string · requis
The same 0x… address that claimed.
Exemple d'appel{"name": "prepare_proof", "arguments": {"proofs": [], "workId": "texte", "claimId": "texte", "workerWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_request≈ 718 tokens
Prepare an attributable request for an existing work packet, a canonical definition, or a specific objective. Unlike posting a new packet, this asks the existing /labor/request bridge to resolve the need to one governed packet or an explicit blocker. Your own wallet signs the exact MESSAGE_TO_SIGN locally; never provide a private key. Set requesterKind=agent only when an agent is the genuine requester; do not relabel a human request as agent demand. Optional lat/lng must come explicitly from an entitled caller, never inferred from device or host location. A request does NOT fund a job, hire anyone, grant site access, or certify an ecological outcome. It is free when the signed waiver lane is enabled. Check the real gate's response.
Paramètres, retour & exemple (8)
Paramètreslat· number · optionnel
Optional real latitude from the requester, never inferred; give with lng to locate the objective.lng· number · optionnel
Optional real longitude from the requester, never inferred; give with lat.note· string · optionnel
Optional public context, at most 280 characters. No secrets, names or contact details.workId· string · optionnel
Request an existing posted packet by its workId. Mutually exclusive with definitionId and objective.objective· string · optionnel
Describe the needed outcome in 5-300 characters. Mutually exclusive with workId and definitionId.definitionId· string · optionnel
Request existing documented work that may not have a posting yet. Mutually exclusive with workId and objective.requesterKind· string · requis · wallet | org | agent | beneficiary | place_steward
Who actually requests the work. Use agent only for true agent-originated demand.requesterWallet· string · requis
0x address the requester controls and will sign with. Never submit a private key.
Exemple d'appel{"name": "prepare_request", "arguments": {"requesterKind": "wallet", "requesterWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_token_offer≈ 662 tokens
Before the work: offer to pay this packet in a token of your group's choosing, on Base (chainId 8453) or Robinhood Chain (4663). FREE — a signed offer, no fee, no gas, NO money moves and none is held. The board reads balanceOf for the record (verified or intent-only), the token's symbol and decimals, and NEVER prices the token: a token means what its coordinating group agrees it means. amount is in the token's smallest unit (atomic). One offer per wallet per packet; offering again replaces it. Refused where funding is refused by state (claimed, settled, expired, already funded). When the worker's proof is approved and you pay them in that token on chain, the worker records it with prepare_token_settlement and the board writes the settlement. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the backer wallet's personal_sign, then call submit_token_offer within 5 minutes.
Paramètres, retour & exemple (7)
Paramètrestoken· string · requis
The 0x… ERC-20 contract address of the token you will pay in.amount· string · requis
Positive integer in the token's smallest unit (atomic). For an 18-decimal token, 5 tokens = 5000000000000000000.reason· string · optionnel
Optional, up to 280 characters: why this packet.workId· string · requis
The packet id, from find_work.chainId· number · requis · 8453 | 4663
8453 = Base, 4663 = Robinhood Chain.backerKind· string · optionnel · human | agent
Self-declared attribution. Defaults to agent if omitted.backerWallet· string · requis
The 0x… address that will sign and later pay. Address only, never a key.
Exemple d'appel{"name": "prepare_token_offer", "arguments": {"token": "texte", "amount": "texte", "workId": "texte", "chainId": 8453, "backerWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_token_settlement≈ 559 tokens
After your proof is approved and someone paid you in a token on chain: name the chain (8453 Base or 4663 Robinhood Chain) and the transaction hash, and the board reads the transfer to YOUR wallet and writes the same settlement record a dollar payout writes — your work record, the place's standing and the board's settled count all move; paymentUsd stays 0 because the board never prices a group's token. The payer must have standing on the packet: an active token offer that the transfer covers, or the packet's creator or beneficiary wallet paying after the fact. A stranger's junk transfer settles nothing. Base USDC is refused here (that is the priced rail: /labor/settle). Your signature is your consent to the token as payment. FREE, no gas. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the worker wallet's personal_sign, then call submit_token_settlement within 5 minutes.
Paramètres, retour & exemple (4)
ParamètrestxHash· string · requis
The 0x… hash of the transaction that paid you.workId· string · requis
The packet you proved.chainId· number · requis · 8453 | 4663
8453 = Base, 4663 = Robinhood Chain.workerWallet· string · requis
The 0x… address on the approved proof — the wallet that was paid and will sign.
Exemple d'appel{"name": "prepare_token_settlement", "arguments": {"txHash": "texte", "workId": "texte", "chainId": 8453, "workerWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_visit≈ 404 tokens
Private, read-only visit preparation. Organizes the person's reason, facts, records and questions without turning them into diagnoses or treatment recommendations. The clinician's actual instructions remain authoritative.
Paramètres, retour & exemple (4)
Paramètresfacts· array · optionnel
Short factual bullets only; omit direct identifiers unless strictly necessary.records· array · optionnel
Names/types of relevant records, not full documents or record identifiers.questions· array · optionnelreasonForVisit· string · requis
Minimum-necessary reason in the person's own words; omit direct identifiers.
Exemple d'appel{"name": "prepare_visit", "arguments": {"reasonForVisit": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_vote≈ 556 tokens
Say a job should matter more or less. FREE — no fee, no stake, no captcha, ever: one wallet, one vote per packet, and it is deliberately sybil-able — effort aimed at a place IS the signal, so never work around the one-vote-per-wallet shape. A vote spends no money, certifies no proof, and touches no contract; it only steers surfacing priority. Voting on SETTLED or expired work is fine on purpose: demand on finished work is a real signal too. Returns MESSAGE_TO_SIGN and BODY_JSON. Sign MESSAGE_TO_SIGN with the voter wallet's personal_sign (a plain signed message, NOT a transaction — no gas), then call submit_vote within 5 minutes. Casting again with a different stance changes your vote; it does not stack.
Paramètres, retour & exemple (5)
Paramètresreason· string · optionnel
Optional, up to 280 characters, shown on the public tally.stance· string · requis · for | against
Your position on this packet.workId· string · requis
The packet id, from find_work.voterKind· string · optionnel · human | agent
Self-declared attribution so agent demand is never shown as human community consensus. Defaults to human if omitted.voterWallet· string · requis
The 0x… address that will sign and own this vote.
Exemple d'appel{"name": "prepare_vote", "arguments": {"stance": "for", "workId": "texte", "voterWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - prepare_vote_withdraw≈ 348 tokens
Take back a vote you cast — the position leaves the active tally, but the event stays in the packet's public history (withdrawing is not erasing). Free, same signature-is-the-gate rule as casting. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the SAME wallet that cast the vote, then call submit_vote_withdraw within 5 minutes.
Paramètres, retour & exemple (2)
ParamètresworkId· string · requis
The packet id.voterWallet· string · requis
The same 0x… address that cast the vote.
Exemple d'appel{"name": "prepare_vote_withdraw", "arguments": {"workId": "texte", "voterWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - provision_plan≈ 682 tokens
VEALTH PROVISION: send an objective in plain words (any spelling; English, Spanish or Swahili) and get back a PLAN: a verdict (plan, authority_required, clarify, no_home, or entry_work when the objective only offers help, such as 'I want to help', and names no work), ONE exact next call, the governed work units that answer it (method, safety stops, the authority each needs, whether it is executable) and any live board packets near the place you name with their posted price and what a stranger may do now. Regulated work (lead paint, gas, asbestos, electrical, needles and similar) is never presented as freely doable: the plan names whose authority it needs. Nothing in a plan has happened; no place or price is invented; corpus units have no price until posted. The same plan GET /labor/provision returns. Free, keyless, read-only, moves no money. Not provision_work, which builds a funding path for one packet.
Paramètres, retour & exemple (7)
Paramètresplace· string · optionnel
Optional place name, e.g. 'Kibera' or 'Los Angeles'. Used as an address filter, never scored as work.latitude· number · optionnel
Optional, with longitude: the place's coordinates, for live packets nearby.radiusKm· number · optionnel
Search radius for live packets in km. Default 25, at most 200.longitude· number · optionnel
Optional, with latitude.objective· string · requis
The useful work you want done, 5 to 300 characters, e.g. 'clear the storm drain on my street before the rain'.entryLevelOnly· boolean · optionnel
Only work the corpus holds as entry level; the reply also carries entry_set, the posted work a stranger can take today.excludeAuthority· boolean · optionnel
Drop any unit that names an authority it requires.
Exemple d'appel{"name": "provision_plan", "arguments": {"objective": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - provision_work≈ 464 tokens
Turn a place + problem (or a board packet id) into provisioned work: a bounded packet with scope, standards-registered method, proof requirement, tCO2e estimate, and the keyless funding path YOU pay from your own wallet. This tool returns the packet and the path; it never spends, never holds funds, never signs. When the retirement lane is running, approved proof queues a carbon retirement and an on-chain certificate — provision, not offset; that lane is paused by operator order since 2026-08-04.
Paramètres, retour & exemple (5)
Paramètresquery· string · optionnel
Or free text for the problem, e.g. 'storm drain' or 'tree planting'.workId· string · optionnel
Provision a specific open board packet by id (from find_work).latitude· number · optionnel
Center of the search, with query.radiusKm· number · optionnel
Search radius in km. Default 50.longitude· number · optionnel
Center of the search, with query.
Exemple d'appel{"name": "provision_work", "arguments": {"query": "texte", "workId": "texte", "latitude": 1, "radiusKm": 1, "longitude": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - regen_address_lookup≈ 376 tokens
Live balance, bonded stake, unclaimed staking rewards, and REGEN locked in open governance deposits for any regen1… address — read directly from Regen's own public LCD API (the same one Vealth's browser explorer hits; no Vealth backend caches or alters it). Any figure that cannot be read answers so honestly rather than defaulting to zero, and the total is withheld until every figure is known. Free, keyless, read-only — this never asks for a private key, only the address.
Paramètres, retour & exemple (1)
Paramètresaddress· string · requis
A regen1… bech32 address (not a 0x… Base address — Regen is a separate Cosmos chain).
Exemple d'appel{"name": "regen_address_lookup", "arguments": {"address": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - regen_burn_tracker≈ 365 tokens
Regen Compute (compute.regen.network, run by Regen Network Development PBC — unaffiliated with Vealth) burns 5% of net subscriber revenue as REGEN via MsgBurnRegen. This tool returns every burn transaction found on-chain by querying the public Regen LCD network-wide (no sender filter, so the single-wallet claim is itself verified, not assumed), the running total, cadence, and a reconciliation against the $REGEN Tokenomics DAO's own claimed weekly range. Free, keyless, read-only.
Paramètres, retour & exemple (1)
Paramètreslimit· number · optionnel
Max recent burns to list, newest first. Default 10.
Exemple d'appel{"name": "regen_burn_tracker", "arguments": {"limit": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - regen_forum_feed≈ 486 tokens
Poll-friendly activity log of new threads and replies on Vealth's self-hosted Regen Network governance forum — built because Regen's own forum sits behind an unpaid hosting bill. Each event carries the author's regen1 address and the bonded REGEN stake behind it, captured at post time, so an argument about a vote sits next to its weight. Pass the returned next_cursor back as `since` to page forward without re-listing what you already read. Free, keyless, read-only — posting needs a Regen wallet signature this tool never asks for; get the exact recipe from GET /regen/forum/signing-spec.
Paramètres, retour & exemple (4)
Paramètreslimit· number · optionnel
Max events, 1-200. Default 50.since· string · optionnel
Optional: a cursor a PRIOR call to this tool returned (next_cursor). Not a timestamp — pass it back verbatim to page forward.author· string · optionnel
Optional: only events from this regen1… address.proposalId· string · optionnel
Optional: only events tied to this Regen governance proposal number, e.g. '71'.
Exemple d'appel{"name": "regen_forum_feed", "arguments": {"limit": 1, "since": "texte", "author": "texte", "proposalId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - regen_governance_status≈ 383 tokens
Live-mirrored Regen Network (regen-1) governance: bonded stake, active validator count, and every proposal — decoded, with phase (deposit/voting/resolved) and tally. Omit proposalId for an overview of what is open right now; pass one to get that proposal's full deposit/voting/tally detail. Read from a periodically regenerated mirror straight off the public ledger and registry, not asserted on Vealth's own authority — the response states exactly when it was generated. Free, keyless, read-only.
Paramètres, retour & exemple (1)
ParamètresproposalId· string · optionnel
Optional: one proposal number, e.g. '71'. Omit for the overview of everything open.
Exemple d'appel{"name": "regen_governance_status", "arguments": {"proposalId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - regen_provisioning_subscription_quote≈ 600 tokens
The regenerative provisioning subscription, BUILT AND OFF. Someone picks an amount from $1 to $1,000 and a period (day or month) and names a place; this tool returns the plan: exactly which OPEN, unfunded, claimable packets at that place the money would back, in the board's own order, at the board's own prices, never over the amount, with the remainder carried, plus the place's Standing link and every reason it is not live. Call it with no arguments for the product and the ladder. NOTHING CHARGES: there is no payment path on any of these routes, no store and no scheduler, and the lane refuses on its own kill file and its own lane state. Free, keyless, read-only. This funds work at a place you name. It buys no token. It promises no return. Standing is earned by the work, never by the payment. Cancel any time; what was funded stays funded.
Paramètres, retour & exemple (5)
Paramètresplace· ? · optionnel
A place label string, or an object { lat, lng, radiusKm } naming a coordinate cluster.amount· number · optionnel
Whole dollars, 1 to 1000. Omit for the product and the ladder only.period· string · optionnel
"day" or "month".wallet· string · optionnel
The subscriber's OWN 0x address, used for receipts and for reading Standing. Never custody.holdEcowealthOptIn· boolean · optionnel
Record that the subscriber wants to hold ECOWEALTH in their own wallet. A preference only: we never hold, price, or issue a token.
Exemple d'appel{"name": "regen_provisioning_subscription_quote", "arguments": {"place": "texte", "amount": 1, "period": "texte", "wallet": "texte", "holdEcowealthOptIn": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - regen_provisioning_subscription_status≈ 405 tokens
Given a wallet, returns its regenerative provisioning subscription state. There is no subscription store and nothing has ever been charged, so this answers "no subscription" honestly rather than inventing an empty record, and it names every reason the lane is not live. Standing belongs to a PLACE and is read free at GET /labor/standing?place=. Free, keyless, read-only. This funds work at a place you name. It buys no token. It promises no return. Standing is earned by the work, never by the payment. Cancel any time; what was funded stays funded.
Paramètres, retour & exemple (1)
Paramètreswallet· string · requis
The wallet to look up (0x…). The read is public and proves nothing about who you are.
Exemple d'appel{"name": "regen_provisioning_subscription_status", "arguments": {"wallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - regen_token_volume≈ 360 tokens
How much of the $REGEN token itself changes hands — NOT Regen ecocredit retirement volume, a completely different market (use regen_burn_tracker or the commons page for that). Returns live price, 24h volume, market cap, a 7-day trend read off real daily history, a per-exchange/DEX breakdown of where that volume actually happens, and the peak/most-recent complete month from a year of monthly history (the human page at /regen/volume.html has a full daily/monthly chart toggle). Sourced from CoinGecko's own aggregation. Free, keyless, read-only.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "regen_token_volume", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - request_status≈ 364 tokens
Read one public signed request by its id from the existing /labor/requests door, including the request's current resolution and existing next-action projection. This is a read, not a new request, a funding event or proof of completion. If a work packet has been linked, use funding_quote to read whether it is actually fundable. A missing, blocked or still-open request is not a promise of service.
Paramètres, retour & exemple (1)
ParamètresrequestId· string · requis
The request.id returned by submit_request (e.g. REQ_...). Public read, no signature required.
Exemple d'appel{"name": "request_status", "arguments": {"requestId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - retire_and_certify≈ 399 tokens
How to retire a given tCO2e amount for real, on-chain, via the Klima rail — paid keyless from the caller's own wallet, returning a confirmed retire transaction as the certificate. Returns instructions and the exact door; this server never performs the retirement and never holds a wallet. The retirement is real; any footprint number behind it stays orientation, never a precise carbon claim.
Paramètres, retour & exemple (3)
Paramètresamount_tco2e· number · requis
Tonnes of CO2e to retire, e.g. 0.005.beneficiary_name· string · optionnel
Optional name to record on the retirement.retirement_message· string · optionnel
Optional message to record on the retirement.
Exemple d'appel{"name": "retire_and_certify", "arguments": {"amount_tco2e": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - start_here≈ 488 tokens
The door for an agent arriving with nothing. Leads with the front-door set: the few posted packets of physical work an ordinary person can take today (no licence, no special equipment, no supervisor), checked against the live board. Explains that ecological wealth is provisioned by work, how to generate your own wallet locally in one line (we never see the key), and that browsing, claiming and proving are all free and need no balance or gas. Read-only, free, keyless — it performs nothing and asks for nothing. Pass the person's place (near, or latitude and longitude) and the set is sorted nearest first; when none of it is near that place, it says so and points to find_work there.
Paramètres, retour & exemple (3)
Paramètresnear· string · optionnel
Optional. The person's place in plain words, e.g. 'Echo Park, Los Angeles' or '90026'.latitude· number · optionnel
Optional. Only if you already have the person's real coordinates.longitude· number · optionnel
Optional. Only if you already have the person's real coordinates.
Exemple d'appel{"name": "start_here", "arguments": {"near": "texte", "latitude": 1, "longitude": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_accept_hours≈ 478 tokens
Complete the acceptance: pass the BODY_JSON from prepare_accept_hours UNCHANGED and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to the same public door any HTTP client uses (POST /labor/work/:workId/accept-hours); this server holds no keys and no funds. FREE and KEYLESS with a valid signature, and the signature is YOUR OWN, from the wallet the packet named. NOBODY IS PAID by this call: no wage is released, no settlement is recorded and nothing is minted. Returns the hours the worker claimed, the hours you accepted, and who the record now says accepted them. THE HOUSE CANNOT ACCEPT ITS OWN HOURS, so the house cannot make this call for you.
Paramètres, retour & exemple (3)
ParamètresworkId· string · requis
The packet id, the same one prepare_accept_hours was given.bodyJson· string · requis
The exact BODY_JSON string from prepare_accept_hours, unchanged.signature· string · requis
The 0x… personal_sign output over MESSAGE_TO_SIGN.
Exemple d'appel{"name": "submit_accept_hours", "arguments": {"workId": "texte", "bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_backing≈ 420 tokens
Complete the pledge: pass workId, the BODY_JSON from prepare_backing UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. This server relays the signed request to the same public pledge gate any HTTP client uses — it holds no keys and no funds, and without your signature it can do nothing. Free, always: no fee is ever charged for a validly signed pledge. Returns whether your wallet's balance verified against the pledged amount, and the packet's current backer ledger.
Paramètres, retour & exemple (3)
ParamètresworkId· string · requis
The packet id.bodyJson· string · requis
The exact BODY_JSON string from prepare_backing, unchanged.signature· string · requis
The 0x… personal_sign output over MESSAGE_TO_SIGN.
Exemple d'appel{"name": "submit_backing", "arguments": {"workId": "texte", "bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_backing_withdraw≈ 355 tokens
Complete the withdrawal: pass workId, the BODY_JSON from prepare_backing_withdraw UNCHANGED, and the signature over MESSAGE_TO_SIGN. Free, always, and relays to the same public gate any HTTP client uses.
Paramètres, retour & exemple (3)
ParamètresworkId· string · requis
The packet id.bodyJson· string · requis
The exact BODY_JSON string from prepare_backing_withdraw, unchanged.signature· string · requis
The 0x… personal_sign output over MESSAGE_TO_SIGN.
Exemple d'appel{"name": "submit_backing_withdraw", "arguments": {"workId": "texte", "bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_bid≈ 389 tokens
Complete the bid: pass workId, the BODY_JSON from prepare_bid UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to the same public bid gate any HTTP client uses; this server holds no keys and no funds. Free with a valid signature. Returns your recorded offer; the creator accepts or declines it later — work_status and my_work show what happened.
Paramètres, retour & exemple (3)
ParamètresworkId· string · requis
The packet id.bodyJson· string · requis
The exact BODY_JSON string from prepare_bid, unchanged.signature· string · requis
The 0x… personal_sign output over MESSAGE_TO_SIGN.
Exemple d'appel{"name": "submit_bid", "arguments": {"workId": "texte", "bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_claim≈ 370 tokens
Complete the claim: pass the BODY_JSON string from prepare_claim UNCHANGED plus the signature your wallet produced over MESSAGE_TO_SIGN. This server relays the signed request to the same public claim gate any HTTP client uses — it holds no keys and no funds, and without your signature it can do nothing. Success returns your claimId; keep it, proof submission needs it.
Paramètres, retour & exemple (2)
ParamètresbodyJson· string · requis
The exact BODY_JSON string from prepare_claim, unchanged.signature· string · requis
The 0x… personal_sign output over MESSAGE_TO_SIGN.
Exemple d'appel{"name": "submit_claim", "arguments": {"bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_credit_offer≈ 402 tokens
Complete the offer: pass workId, the BODY_JSON from prepare_credit_offer UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to the same public door any HTTP client uses (POST /labor/work/:workId/back/credit); this server holds no keys, no funds and no credits. Free with a valid signature. Returns the recorded offer, including the regen1 account the board derived for you.
Paramètres, retour & exemple (3)
ParamètresworkId· string · requis
The packet id.bodyJson· string · requis
The exact BODY_JSON string from prepare_credit_offer, unchanged.signature· string · requis
The 0x… personal_sign output over MESSAGE_TO_SIGN.
Exemple d'appel{"name": "submit_credit_offer", "arguments": {"workId": "texte", "bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_credit_settlement≈ 409 tokens
Complete the record: pass workId, the BODY_JSON from prepare_credit_settlement UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to POST /labor/work/:workId/settle/credit; this server holds no keys, no funds and no credits, and reads regen-1 only. Free with a valid signature. Returns the settlement with settledIn naming the ledger, the batch, the tradable amount and the paying account.
Paramètres, retour & exemple (3)
ParamètresworkId· string · requis
The packet id.bodyJson· string · requis
The exact BODY_JSON string from prepare_credit_settlement, unchanged.signature· string · requis
The 0x… personal_sign output over MESSAGE_TO_SIGN.
Exemple d'appel{"name": "submit_credit_settlement", "arguments": {"workId": "texte", "bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_evidence_surface≈ 354 tokens
Complete the reservation: pass the BODY_JSON from prepare_evidence_surface UNCHANGED and the signature your wallet produced over MESSAGE_TO_SIGN. Free, always. Returns the targetUrl to pass to prepare_claim. Re-submitting for the same packet returns the surface you already hold.
Paramètres, retour & exemple (2)
ParamètresbodyJson· string · requis
The exact BODY_JSON string from prepare_evidence_surface, unchanged.signature· string · requis
The 0x… personal_sign output over MESSAGE_TO_SIGN.
Exemple d'appel{"name": "submit_evidence_surface", "arguments": {"bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_evidence_write≈ 355 tokens
Complete the publish: pass the BODY_JSON from prepare_evidence_write UNCHANGED and the signature over MESSAGE_TO_SIGN. Free when signed. On success the files are live at your targetUrl and the next step is prepare_proof — the verifier probes them passively like any public machine surface.
Paramètres, retour & exemple (2)
ParamètresbodyJson· string · requis
The exact BODY_JSON string from prepare_evidence_write, unchanged.signature· string · requis
The 0x… personal_sign output over MESSAGE_TO_SIGN.
Exemple d'appel{"name": "submit_evidence_write", "arguments": {"bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_feedback≈ 607 tokens
Record what you tried to do with Vealth, what happened, and what you expected. Use this when a tool, endpoint, page or capability is missing, confusing, blocked or appears broken. Free and keyless. Feedback is untrusted observation only: it does not change work, proof, payment, safety, authority, standards or code. Do not include passwords, private keys, seed phrases or API keys.
Paramètres, retour & exemple (9)
ParamètresactorRef· string · optionnel
Optional self-declared reporter reference. This is attribution only, never verified identity.requestId· string · optionnel
Optional request/trace id if one was returned.targetKind· string · requis · http | mcp | capability | page | other
What kind of Vealth surface you were using.targetName· string · requis
The exact endpoint, MCP tool, capability or page, e.g. find_work or POST /labor/work.evidenceRefs· array · optionnel
Optional references to existing evidence/receipts. Do not paste secrets.targetVersion· string · optionnel
Optional exact version/ref if known.expectedResult· string · optionnel
Optional: what you expected instead.observedResult· string · requis
What actually happened, including the refusal/error if useful.attemptedIntent· string · requis
What you were trying to accomplish.
Exemple d'appel{"name": "submit_feedback", "arguments": {"targetKind": "http", "targetName": "texte", "observedResult": "texte", "attemptedIntent": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_funding≈ 582 tokens
Finish funding a packet from your own wallet: pass the workId, your funderWallet, and xPayment — the standard X-PAYMENT header value (x402 exact scheme, an EIP-3009 USDC authorization on Base) that YOUR wallet built and signed against the challenge prepare_funding returned. This tool forwards it, unchanged, to the same public funding door any HTTP client uses (POST /nurture/fund) and returns that door's own answer. It holds no key, takes no payment itself, and marks nothing funded: the door settles the payment and only a verified settlement stamps a packet funded. Without xPayment it refuses and points you back to prepare_funding. A packet whose claim lane is closed is refused before any challenge, in plain words. If the door times out, do NOT pay again: read work_status first.
Paramètres, retour & exemple (4)
ParamètresworkId· string · requis
The packet id, from funding_quote or find_work.xPayment· string · requis
The X-PAYMENT header value your own wallet built and signed for the exact accepts[] terms from prepare_funding. Required; this server cannot create it.funderWallet· string · requis
The 0x… address that signed the payment. The ADDRESS only, never a private key.contributeUsd· number · optionnel
Optional. The same EXPLICIT contribution you passed to prepare_funding; it must match the amount you signed.
Exemple d'appel{"name": "submit_funding", "arguments": {"workId": "texte", "xPayment": "texte", "funderWallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_gmx_order≈ 330 tokens
Relay a signed Ethereum transaction to the Arbitrum network. The transaction must have been pre-signed by the caller using prepare_gmx_order output. This endpoint does NOT sign — it only broadcasts an already-signed transaction.
Paramètres, retour & exemple (1)
ParamètressignedRawTransaction· string · requis
0x-prefixed raw signed transaction hex (e.g., from ethers.Wallet.signTransaction() or ethers.Signer.sendTransaction().wait()).
Exemple d'appel{"name": "submit_gmx_order", "arguments": {"signedRawTransaction": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_outcome_bid≈ 382 tokens
Complete the outcome bid: pass the BODY_JSON from prepare_outcome_bid UNCHANGED and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to POST /labor/outcome-bids, the same public door any HTTP client uses; this server holds no keys and no funds. Free with a valid signature. Returns the recorded bid; the packets' creator accepts it or lets it lapse, and outcome_bid_status shows which.
Paramètres, retour & exemple (2)
ParamètresbodyJson· string · requis
The exact BODY_JSON string from prepare_outcome_bid, unchanged.signature· string · requis
The 0x personal_sign output over MESSAGE_TO_SIGN.
Exemple d'appel{"name": "submit_outcome_bid", "arguments": {"bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_physical_proof≈ 447 tokens
Relay the signed physical proof to the same public door any HTTP client uses (POST /labor/work/:workId/physical-proof): pass workId, the BODY_JSON from prepare_physical_proof UNCHANGED, and the signature over MESSAGE_TO_SIGN. FREE with a valid signature from the claiming wallet. It records the photo hashes and the on-site GPS against the packet's 350 m place; a far GPS is flagged for the human, never auto-rejected. NOBODY IS PAID by this call and nothing is accepted: the packet's creator signs the verdict, never the worker.
Paramètres, retour & exemple (3)
ParamètresworkId· string · requis
The packet id, the same one prepare_physical_proof was given.bodyJson· string · requis
The exact BODY_JSON string from prepare_physical_proof, unchanged.signature· string · requis
The 0x… personal_sign output over MESSAGE_TO_SIGN.
Exemple d'appel{"name": "submit_physical_proof", "arguments": {"workId": "texte", "bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_place≈ 386 tokens
Complete the handover: pass the BODY_JSON from prepare_place UNCHANGED and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to the same public door any HTTP client uses (POST /labor/place/intake); this server holds no keys and no funds. Free with a valid signature. Returns the recorded intake with its id and the Regen account the board derived for you. It is recorded, not accepted: watch it with place_status.
Paramètres, retour & exemple (2)
ParamètresbodyJson· string · requis
The exact BODY_JSON string from prepare_place, unchanged.signature· string · requis
The 0x… personal_sign output over MESSAGE_TO_SIGN.
Exemple d'appel{"name": "submit_place", "arguments": {"bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_post_work≈ 480 tokens
Complete the posting: pass BODY_JSON from prepare_post_work UNCHANGED, the creator wallet's signature over MESSAGE_TO_SIGN, and (unless you hold an EWP key) xPayment — the standard X-PAYMENT header value your own wallet produced for the $0.05 write fee. If you send no payment, the answer is the live 402 challenge with exact price and pay-to; pay it from your own wallet and retry with a fresh prepare. This server relays to the same public gate any HTTP client uses — it holds no keys and no funds. Success returns your packet's id and public page; claiming it (even yourself) is free.
Paramètres, retour & exemple (3)
ParamètresbodyJson· string · requis
The exact BODY_JSON string from prepare_post_work, unchanged.xPayment· string · optionnel
Optional: the X-PAYMENT header value (EIP-3009 USDC on Base, from YOUR wallet) settling the $0.05 write fee. Omit if you hold an EWP key.signature· string · requis
The 0x… personal_sign output over MESSAGE_TO_SIGN, from the creator wallet.
Exemple d'appel{"name": "submit_post_work", "arguments": {"bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_proof≈ 400 tokens
Relay the signed proof to the public completion gate: pass workId, the BODY_JSON from prepare_proof UNCHANGED, and the signature over MESSAGE_TO_SIGN. Approval follows (the creator, or self-verification where the packet supports it); on a funded packet, approval releases the wage into settlement; on an unfunded packet, approval RECORDS earned credit — never a settlement by itself. work_status shows where it stands.
Paramètres, retour & exemple (3)
ParamètresworkId· string · requis
The packet id.bodyJson· string · requis
The exact BODY_JSON string from prepare_proof, unchanged.signature· string · requis
The 0x… personal_sign output over MESSAGE_TO_SIGN.
Exemple d'appel{"name": "submit_proof", "arguments": {"workId": "texte", "bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_request≈ 428 tokens
Relay BODY_JSON from prepare_request, unchanged, with the caller's personal_sign signature over MESSAGE_TO_SIGN to the existing /labor/request gate. Never hold or sign a key or send payment. The gate validates wallet ownership and either records a demand request, resolves it to an existing or newly posted governed packet, or returns a blocker. A request is not a purchase order, funding commitment, employment agreement, permission to work, or verified outcome. If a relay times out, first read existing requests for that wallet rather than blindly submitting again.
Paramètres, retour & exemple (2)
ParamètresbodyJson· string · requis
The exact BODY_JSON from prepare_request, unchanged.signature· string · requis
The caller's 0x personal_sign signature over MESSAGE_TO_SIGN. Never the key.
Exemple d'appel{"name": "submit_request", "arguments": {"bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_token_offer≈ 393 tokens
Complete the offer: pass workId, the BODY_JSON from prepare_token_offer UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to the same public door any HTTP client uses (POST /labor/work/:workId/back/token); this server holds no keys, no funds and no tokens. Free with a valid signature. Returns the recorded offer and the packet's token terms.
Paramètres, retour & exemple (3)
ParamètresworkId· string · requis
The packet id.bodyJson· string · requis
The exact BODY_JSON string from prepare_token_offer, unchanged.signature· string · requis
The 0x… personal_sign output over MESSAGE_TO_SIGN.
Exemple d'appel{"name": "submit_token_offer", "arguments": {"workId": "texte", "bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_token_settlement≈ 402 tokens
Complete the record: pass workId, the BODY_JSON from prepare_token_settlement UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to POST /labor/work/:workId/settle/token; this server holds no keys, no funds and no tokens, and reads the chain only. Free with a valid signature. Returns the settlement with settledIn naming the chain, token, atomic amount and payer.
Paramètres, retour & exemple (3)
ParamètresworkId· string · requis
The packet id.bodyJson· string · requis
The exact BODY_JSON string from prepare_token_settlement, unchanged.signature· string · requis
The 0x… personal_sign output over MESSAGE_TO_SIGN.
Exemple d'appel{"name": "submit_token_settlement", "arguments": {"workId": "texte", "bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_vote≈ 397 tokens
Complete the vote: pass workId, the BODY_JSON from prepare_vote UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. This server relays the signed request to the same public vote gate any HTTP client uses — it holds no keys and no funds, and without your signature it can do nothing. Free, always: no fee is ever charged for a validly signed vote. Returns the live tally for this packet.
Paramètres, retour & exemple (3)
ParamètresworkId· string · requis
The packet id.bodyJson· string · requis
The exact BODY_JSON string from prepare_vote, unchanged.signature· string · requis
The 0x… personal_sign output over MESSAGE_TO_SIGN.
Exemple d'appel{"name": "submit_vote", "arguments": {"workId": "texte", "bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - submit_vote_withdraw≈ 351 tokens
Complete the withdrawal: pass workId, the BODY_JSON from prepare_vote_withdraw UNCHANGED, and the signature over MESSAGE_TO_SIGN. Free, always, and relays to the same public gate any HTTP client uses.
Paramètres, retour & exemple (3)
ParamètresworkId· string · requis
The packet id.bodyJson· string · requis
The exact BODY_JSON string from prepare_vote_withdraw, unchanged.signature· string · requis
The 0x… personal_sign output over MESSAGE_TO_SIGN.
Exemple d'appel{"name": "submit_vote_withdraw", "arguments": {"workId": "texte", "bodyJson": "texte", "signature": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - support_next≈ 711 tokens
Answers "where should the next dollar go" (view backer) or "what should I do next near me" (view worker): one ranked list of open claimable jobs, place conditions that are not yet covered, and open outcome bids, each row explained in plain words by named score parts that add up to its score. It composes reads that already exist: open claimable work and its funding state, the Standing of the places it sits at (which conditions are not yet covered or are due to be measured again), votes, market admission and open outcome bids, and creates no store. The scoring table is in every reply. OUR OWN ACTIVITY NEVER RAISES A SCORE: only votes the board's own rule counted score, demand the records call ours scores nothing, and a bid placed by the house earns nothing. A count nobody could read is a dash, never a zero, and the row says what was not read. Pay is proposed unless a job is funded, and a person accepts every proof. In the worker view, give lat and lng to see only work within radiusKm of you (default 25); remote work stays. Free, keyless, read-only. VEALTH IS AN EXPERIMENT AND THIS IS A READING OF THE BOARD, NOT ADVICE: a rank is no promise that a job will be funded, accepted or paid, and says nothing about anyone's fitness for a job. The reply ends with the top row's own next call.
Paramètres, retour & exemple (5)
Paramètreslat· number · optionnel
Your latitude, from -90 to 90. Send with lng. Optional; with it nearness scores and the worker view drops work beyond radiusKm.lng· number · optionnel
Your longitude, from -180 to 180. Send with lat.view· string · optionnel · backer | worker
backer (the default): who and where to back next. worker: what to do next near me.limit· number · optionnel
Most rows to return, from 1 to 50. Defaults to 10.radiusKm· number · optionnel
Kilometres around you, from 0.1 to 500. Defaults to 25. Needs lat and lng.
Exemple d'appel{"name": "support_next", "arguments": {"lat": 1, "lng": 1, "view": "backer", "limit": 1, "radiusKm": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - track_followup≈ 290 tokens
Private, read-only follow-up tracking. Keeps appointments, referrals, records and other stated next steps from disappearing. It records what another person or service said should happen; it does not invent clinical next steps.
Paramètres, retour & exemple (1)
Paramètresitems· array · requis
Exemple d'appel{"name": "track_followup", "arguments": {"items": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - understand_need≈ 490 tokens
Private, read-only coordination. Converts the person's own description into a nonclinical coordination frame, routes explicit emergency/crisis/withdrawal/safeguarding signals to qualified humans, and never diagnoses, treats, prescribes, or creates an employer-facing health record.
Paramètres, retour & exemple (3)
Paramètressummary· string · requis
Minimum-necessary description of what is making life or care harder. Do not include names, date of birth, full address, medical-record number, insurance/member id, account credentials, or other identifiers.category· string · optionnel · care_access | appointment | referral | records | visit_preparation | transport | follow_up | daily_capacitysafetySignal· string · optionnel · none | uncertain | medical_emergency | mental_health_crisis | withdrawal_risk | safeguarding
Only pass a stronger signal when the user/context explicitly supports it. Never infer one from vague distress.
Exemple d'appel{"name": "understand_need", "arguments": {"summary": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - verify_anchor≈ 324 tokens
Given the SHA-256 of a file, say whether it is anchored, when, and return the merkle proof plus the transaction so the caller can check it independently without trusting Vealth. Use it to confirm someone held a document when they claim they did, or to confirm your own submission landed. Free and keyless.
Paramètres, retour & exemple (1)
Paramètressha256· string · requis
SHA-256 of the file, 64 lowercase hex characters.
Exemple d'appel{"name": "verify_anchor", "arguments": {"sha256": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - verify_work≈ 427 tokens
Check a proof URI is safely machine-checkable, then get the exact path to Vealth's paid verification door: a SIGNED, re-checkable certificate anyone can reproduce — no oracle, no judge. Digital claims only; physical proof (photo + GPS + signature) is honestly routed to human review, never faked. This tool validates and instructs; the caller pays the door from their own wallet.
Paramètres, retour & exemple (4)
ParamètresworkId· string · optionnel
Optional board packet id, to check its specific proof requirement.proofUri· string · requis
https URL of the LIVE proof to verify. No auth, no query parameters.standard· string · optionnel
Optional standard key the claim is made against.definitionId· string · optionnel
Optional self-verifying definition id, if known.
Exemple d'appel{"name": "verify_work", "arguments": {"proofUri": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - work_status≈ 282 tokens
Live lifecycle state of one packet — OPEN, CLAIMED, PROOF_SUBMITTED, APPROVED, PROOF_REJECTED, SETTLED or EXPIRED — plus its honest pay status (funded vs proposed). Free, keyless, read-only.
Paramètres, retour & exemple (1)
ParamètresworkId· string · requis
The packet id.
Exemple d'appel{"name": "work_status", "arguments": {"workId": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}} - worker_titles≈ 424 tokens
The Vealth titles register for one wallet: every title the worker declared on their own signature (CHST, OSHA 30, CPR, a guard card, anything), each with a status derived from the worker's OWN declared dates (current, expired, unknown_expiry), a verify pointer to the ISSUER'S record (we carry the link, we never fetch it), board evidence in that title's scope (on-chain-confirmed settlements and reviews the wallet accepted), and the declaration's anchor hash. Self-declared and shown as such; nothing here gates a claim or makes hiring, employment, qualification, or fitness decisions for an employer. Public mirror: https://vealth.net/labor/worker/<wallet>/titles. Free, keyless, read-only.
Paramètres, retour & exemple (1)
Paramètreswallet· string · requis
The worker's wallet address (0x…).
Exemple d'appel{"name": "worker_titles", "arguments": {"wallet": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"ok": true, "tool": "texte", "funded": true, "payUsd": 1, "workId": "texte", "claimId": "texte", "claimable": true, "next_call": {}, "proofRule": "texte", "fulfillableBy": [], "definitionOfDone": {}, "needs_from_caller": []}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».