Comprehensive Model Context Protocol server for managing Home Assistant through AI assistants.
Vealth is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Vealth work board: find real work, claim free with your wallet, prove it. Free onchain anchoring.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http vealth-mcp https://vealth.net/mcp
# 2 — ask your agent for something these tools do
# start_here, find_work, get_work_packet and 103 more
Vealth costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http vealth-mcp https://vealth.net/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
106 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
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 pro
| Parameter | Type | Required | Notes |
|---|---|---|---|
| near | string | no | Optional. The person's place in plain words, e.g. 'Echo Park, Los Angeles' or '90026'. |
| latitude | number | no | Optional. Only if you already have the person's real coordinates. |
| longitude | number | no | Optional. Only if you already have the person's real coordinates. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | no | Free text, e.g. 'storm drain' or 'tree planting'. Typo-tolerant. |
| near | string | no | 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 boar |
| latitude | number | no | Center of the search. Only if you already have real coordinates. |
| longitude | number | no | Center of the search. Only if you already have real coordinates. |
| radiusKm | number | no | Search radius in km, used with latitude/longitude. Default 50. |
| skillLevel | string | no | Use 'entry' for someone starting today. |
| funded | boolean | no | 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 pro |
| remote | boolean | no | 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. |
| flag | string | no | 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. |
| limit | number | no | Max results per page, 1-25. Default 10. |
| page | number | no | Page number, starting at 1. The reply says when more pages exist. |
Full detail for a single packet by its id, including the full description and proof requirement.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | e.g. WORK_1784530149768_4z4r6jz |
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.
No parameter schema on file.
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),
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id, from find_work. |
| workerWallet | string | yes | The 0x… address that will sign and own this claim. |
| targetUrl | string | no | 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 |
| attestAtLeast18 | boolean | no | 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 |
| attestSafetyRead | boolean | no | 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 t |
| crew | array | no | 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 |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bodyJson | string | yes | The exact BODY_JSON string from prepare_claim, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
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: d
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id, from find_work. |
| voterWallet | string | yes | The 0x… address that will sign and own this vote. |
| stance | string | yes | Your position on this packet. |
| reason | string | no | Optional, up to 280 characters, shown on the public tally. |
| voterKind | string | no | Self-declared attribution so agent demand is never shown as human community consensus. Defaults to human if omitted. |
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 p
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id. |
| bodyJson | string | yes | The exact BODY_JSON string from prepare_vote, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id. |
| voterWallet | string | yes | The same 0x… address that cast the vote. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id. |
| bodyJson | string | yes | The exact BODY_JSON string from prepare_vote_withdraw, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
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 clo
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id, from find_work. |
| bidderWallet | string | yes | The 0x… address that will sign and, if accepted, hold the claim. |
| amountUsd | number | yes | Your price in USD, greater than zero. |
| bidderKind | string | no | Self-declared attribution. Defaults to agent if omitted. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id. |
| bodyJson | string | yes | The exact BODY_JSON string from prepare_bid, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id. |
| backerWallet | string | yes | The same 0x… address that pledged. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id. |
| bodyJson | string | yes | The exact BODY_JSON string from prepare_backing_withdraw, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
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 i
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id, from find_work. |
| backerWallet | string | yes | The 0x… address that will sign and later pay. Address only, never a key. |
| chainId | number | yes | 8453 = Base, 4663 = Robinhood Chain. |
| token | string | yes | The 0x… ERC-20 contract address of the token you will pay in. |
| amount | string | yes | Positive integer in the token's smallest unit (atomic). For an 18-decimal token, 5 tokens = 5000000000000000000. |
| backerKind | string | no | Self-declared attribution. Defaults to agent if omitted. |
| reason | string | no | Optional, up to 280 characters: why this packet. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id. |
| bodyJson | string | yes | The exact BODY_JSON string from prepare_token_offer, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
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 to
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet you proved. |
| workerWallet | string | yes | The 0x… address on the approved proof — the wallet that was paid and will sign. |
| chainId | number | yes | 8453 = Base, 4663 = Robinhood Chain. |
| txHash | string | yes | The 0x… hash of the transaction that paid you. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id. |
| bodyJson | string | yes | The exact BODY_JSON string from prepare_token_settlement, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
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 i
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id, from find_work. |
| backerWallet | string | yes | The 0x… address that will sign and later pay. Address only, never a key. |
| batchDenom | string | yes | The Regen credit batch denom you will pay from, e.g. VSH01-001-20260907-20270907-001. |
| amount | string | yes | Positive decimal in the credit's own units, at most 6 decimal places, e.g. "1.5". |
| backerKind | string | no | Self-declared attribution. Defaults to agent if omitted. |
| reason | string | no | Optional, up to 280 characters: why this packet. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id. |
| bodyJson | string | yes | The exact BODY_JSON string from prepare_credit_offer, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
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 th
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet you proved. |
| workerWallet | string | yes | The 0x… address on the approved proof, the wallet that was paid and will sign. |
| batchDenom | string | yes | The Regen credit batch denom you were paid in, e.g. VSH01-001-20260907-20270907-001. |
| txHash | string | yes | The 64-character hex hash of the regen-1 transaction that paid you (no 0x prefix). |
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 th
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id. |
| bodyJson | string | yes | The exact BODY_JSON string from prepare_credit_settlement, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workerWallet | string | yes | The 0x… address that signs. Address only, never a private key. |
| lat | number | yes | Latitude of the exact spot, as your phone reads it. Not a city centre. |
| lng | number | yes | Longitude of the exact spot, as your phone reads it. |
| radiusKm | number | yes | How far the place reaches, in km, from 0.1 to 3. A place someone can walk, not a region. |
| placeName | string | yes | Plain words a person would recognise, e.g. 'the north boundary of the community forest'. Up to 120 characters. |
| stewardName | string | yes | 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. |
| sitePhotoSha256 | string | yes | 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. |
| offers | array | no | 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 p |
| note | string | no | Optional, up to 300 characters: anything the house should know about the place. |
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:
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bodyJson | string | yes | The exact BODY_JSON string from prepare_place, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
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,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| intakeId | string | no | The intake id submit_place returned. |
| wallet | string | no | Optional instead of intakeId: the 0x… address that handed places over. |
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,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id, from find_work or place_status. |
| lang | string | no | Optional, defaults to "en". "sw" reads the card in Swahili. |
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 BALA
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workerWallet | string | yes | The 0x… address to read. Address only, never a private key. |
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 B
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workerWallet | string | yes | The 0x… address to read. Address only, never a private key. |
| lang | string | no | 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'. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| place | string | yes | 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 | yes | The 0x address the card is for (the manager, for a crew). Address only, never a private key. |
| hours | number | no | Hours the person has today, from 0.5 to 16. Defaults to 8. |
| crew | string | no | 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. |
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 reque
| Parameter | Type | Required | Notes |
|---|---|---|---|
| requesterWallet | string | yes | 0x address the requester controls and will sign with. Never submit a private key. |
| requesterKind | string | yes | Who actually requests the work. Use agent only for true agent-originated demand. |
| workId | string | no | Request an existing posted packet by its workId. Mutually exclusive with definitionId and objective. |
| definitionId | string | no | Request existing documented work that may not have a posting yet. Mutually exclusive with workId and objective. |
| objective | string | no | Describe the needed outcome in 5-300 characters. Mutually exclusive with workId and definitionId. |
| lat | number | no | Optional real latitude from the requester, never inferred; give with lng to locate the objective. |
| lng | number | no | Optional real longitude from the requester, never inferred; give with lat. |
| note | string | no | Optional public context, at most 280 characters. No secrets, names or contact details. |
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,
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bodyJson | string | yes | The exact BODY_JSON from prepare_request, unchanged. |
| signature | string | yes | The caller's 0x personal_sign signature over MESSAGE_TO_SIGN. Never the key. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| requestId | string | yes | The request.id returned by submit_request (e.g. REQ_...). Public read, no signature required. |
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 h
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id whose hours you are accepting. |
| acceptor | string | yes | Your 0x address, the one this packet named as its acceptor. Address only, never a private key. |
| hoursAccepted | number | yes | The hours you actually stand behind, greater than zero and at most 168. Not the hours claimed unless you agree with them. |
| allowAboveClaim | boolean | no | Only when you mean to credit MORE hours than the worker asked for. Default false, and a higher figure is refused without it. |
| note | string | no | Optional, up to 300 characters: one plain sentence saying what you checked. |
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 th
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id, the same one prepare_accept_hours was given. |
| bodyJson | string | yes | The exact BODY_JSON string from prepare_accept_hours, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bidderWallet | string | yes | The 0x address that will sign, hold the claims and be paid. Address only, never a key. |
| place | string | yes | The place: a placeId (plc_...), an address, or a venue|city reference. |
| condition | string | yes | The Standard's condition id, for example the_ground_is_alive (place_standing lists them). |
| targetRung | string | yes | The rung you will move the condition to: exactly one above where it reads now. |
| priceUsd | number | yes | Your one price in USD, in whole cents. |
| packets | array | yes | The open packets you will use, each with its share of the price. At most 25. |
| paymentTerms | object | yes | How you expect to be paid. A declaration only: money moves on the existing rails, never through this bid. |
| crew | array | no | Optional: the people who will do the hours, as { ref, label? } (the managed account). |
| holdDays | number | no | Optional: how many days, 1 to 90, the packets stay held for you once accepted. Default 30. |
| bidderKind | string | no | Self-declared attribution. Defaults to agent. |
| note | string | no | Optional, up to 500 characters. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bodyJson | string | yes | The exact BODY_JSON string from prepare_outcome_bid, unchanged. |
| signature | string | yes | The 0x personal_sign output over MESSAGE_TO_SIGN. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| outcomeBidId | string | yes | The OBID_ id from submit_outcome_bid. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| creatorWallet | string | yes | The 0x… address posting this work. It signs, and it owns the posting. |
| title | string | yes | Short honest title, e.g. 'Monthly care and growth check, planted neem tree'. |
| description | string | yes | What needs doing, concretely — a stranger (or the poster themselves) should be able to do it from this text alone. |
| location | string | yes | 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. |
| proposedPayUsd | number | yes | Proposed pay in USD. Proposed, not promised: unfunded packets settle as provable credit. |
| workType | number | no | 0 = water, 1 = soil/land/planting, 2 = building/structure. Trees are 1. |
| proofRule | string | no | What proof completes the work, e.g. 'GPS pin + photo of the tree next to a measuring stick + watering confirmation'. |
| expiresInDays | number | no | Days the packet stays open. Default 30. |
| standard | string | no | 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 |
| workTypeLabel | string | no | Optional. A documented work type (snake_case) when you know the board's own name for the work. |
| skillLevel | string | no | 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 |
| safetyNotes | string | no | 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 exa |
| proofRequirements | array | no | Optional. The proof items, one line each (at most 20, 600 characters each), e.g. 'photo of the tree beside a measuring stick'. |
| flags | array | no | 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 contracto |
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 prepa
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bodyJson | string | yes | The exact BODY_JSON string from prepare_post_work, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN, from the creator wallet. |
| xPayment | string | no | 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. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id. |
| claimId | string | yes | Returned by submit_claim. |
| workerWallet | string | yes | The same 0x… address that claimed. |
| proofs | array | yes | 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 |
| gps | object | no | For geolocated field work: {lat, lng} captured ON SITE — the gate refuses geolocated proof without it. |
| hoursClaimed | number | no | 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 |
| counts | object | no | 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 |
| crew | array | no | 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 doe |
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 show
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id. |
| bodyJson | string | yes | The exact BODY_JSON string from prepare_proof, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id. |
| claimId | string | yes | Your claim on it, from submit_claim or my_work. |
| workerWallet | string | yes | The same 0x address that claimed. Address only, never a private key. |
| photoHashes | array | no | 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. |
| gps | object | no | Optional {lat, lng} captured ON SITE. Defaults to the on-site GPS your signed proof already carried. |
| capturedAt | string | no | Optional ISO time the photos were taken. Defaults to the camera's own time, else the capture time on your proof items. |
| revisesProofId | string | no | Only when answering a needs-more verdict: the id of the physical proof that asked for more evidence. |
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, ne
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id, the same one prepare_physical_proof was given. |
| bodyJson | string | yes | The exact BODY_JSON string from prepare_physical_proof, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The 0x… address that claimed the work. The ADDRESS only, never a private key. |
| near | string | no | Optional place in plain words for the what-to-pick-up-next list, e.g. 'Los Angeles, CA'. |
| since | string | no | 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 |
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 settl
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The 0x… address that voted or pledged. The ADDRESS only, never a private key. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tokens | number | no | Approx total tokens this session (input + output). |
| calls | number | no | Or approx number of model calls, if you have no token count. |
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 o
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | no | Provision a specific open board packet by id (from find_work). |
| query | string | no | Or free text for the problem, e.g. 'storm drain' or 'tree planting'. |
| latitude | number | no | Center of the search, with query. |
| longitude | number | no | Center of the search, with query. |
| radiusKm | number | no | Search radius in km. Default 50. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| amount_tco2e | number | yes | Tonnes of CO2e to retire, e.g. 0.005. |
| beneficiary_name | string | no | Optional name to record on the retirement. |
| retirement_message | string | no | Optional message to record on the retirement. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| proofUri | string | yes | https URL of the LIVE proof to verify. No auth, no query parameters. |
| workId | string | no | Optional board packet id, to check its specific proof requirement. |
| standard | string | no | Optional standard key the claim is made against. |
| definitionId | string | no | Optional self-verifying definition id, if known. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sha256 | string | yes | SHA-256 of your file, 64 lowercase hex characters. Get it with: shasum -a 256 <file> |
| label | string | no | Optional short public label for your own reference. Never include anything secret. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| sha256 | string | yes | SHA-256 of the file, 64 lowercase hex characters. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| symbol | string | no | Optional: return just this symbol, e.g. ECOWEALTH. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| includeBalances | boolean | no | Set false to skip live chain reads and return roles only. Default true. |
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.
No parameter schema on file.
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.
No parameter schema on file.
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 w
No parameter schema on file.
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The subscriber wallet (0x…), the same wallet that paid. |
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 e
| Parameter | Type | Required | Notes |
|---|---|---|---|
| amount | number | no | Whole dollars, 1 to 1000. Omit for the product and the ladder only. |
| period | string | no | "day" or "month". |
| place | no | A place label string, or an object { lat, lng, radiusKm } naming a coordinate cluster. | |
| wallet | string | no | The subscriber's OWN 0x address, used for receipts and for reading Standing. Never custody. |
| holdEcowealthOptIn | boolean | no | Record that the subscriber wants to hold ECOWEALTH in their own wallet. A preference only: we never hold, price, or issue a token. |
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 y
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The wallet to look up (0x…). The read is public and proves nothing about who you are. |
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. F
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | no | Optional: return just this decision id, e.g. no-sell-walls. |
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.
No parameter schema on file.
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 Hydr
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | no | Optional: a wallet to inspect. Omit to read our own position, whose owner is resolved live rather than hardcoded. |
| tokenIds | array | no | Optional: specific veHYDX token IDs. Omit to discover them, or to use our known IDs. |
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 he
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | no | Optional: the voting wallet. Omit to follow our own position to whichever wallet currently holds it. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | no | Optional: the voting wallet. Omit to follow our own position. |
| tokenIds | array | no | Optional: veHYDX token IDs to check earnings for. Rewards are tracked per NFT. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | no | Optional: the holder to inspect. Omit to follow our own position. |
| vault | string | no | Optional: an ICHI vault address. Defaults to the kVCM/USDC single-sided vault. |
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,
No parameter schema on file.
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| latitude | number | no | Optional: also count open work near this point. |
| longitude | number | no | Optional: also count open work near this point. |
| radiusKm | number | no | Nearby radius in km. Default 50. |
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-
| Parameter | Type | Required | Notes |
|---|---|---|---|
| place | string | yes | The place to read, e.g. a city, address fragment, or venue name. |
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 rev
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The worker's wallet address (0x…). |
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 (de
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The worker's wallet address (0x…). |
| require | string | yes | 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 |
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. Part
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | no | Optional packet id. Omit to quote the first open packet that still needs funding. |
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 t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id, from find_work. |
| funderWallet | string | no | The 0x… address that will pay onchain. Needed for the onchain door's live challenge; the card path does not use it. |
| contributeUsd | number | no | 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 explici |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id, from funding_quote or find_work. |
| funderWallet | string | yes | The 0x… address that signed the payment. The ADDRESS only, never a private key. |
| xPayment | string | yes | 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. |
| contributeUsd | number | no | Optional. The same EXPLICIT contribution you passed to prepare_funding; it must match the amount you signed. |
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 p
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id, from find_work. |
| backerWallet | string | yes | The 0x… address that will sign and own this pledge. Must hold at least amountUsd for it to verify. |
| amountUsd | number | yes | How much you pledge to back this packet with, in USD. Cannot exceed the packet's posted wage. |
| reason | string | no | Optional, up to 280 characters, shown on the public backer ledger. |
| backerKind | string | no | Self-declared attribution, same as voterKind. Defaults to human if omitted. |
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 wal
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id. |
| bodyJson | string | yes | The exact BODY_JSON string from prepare_backing, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
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)
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The funded remote template packet id, from find_work. |
| workerWallet | string | yes | The 0x… address that will claim and complete this packet. Never a private key. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bodyJson | string | yes | The exact BODY_JSON string from prepare_evidence_surface, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
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 ME
| Parameter | Type | Required | Notes |
|---|---|---|---|
| workId | string | yes | The packet id. |
| claimId | string | yes | Your claim id, from submit_claim. |
| recordId | string | yes | The 24-hex record id, from submit_evidence_surface. |
| workerWallet | string | yes | The 0x… wallet that claimed. |
| resources | array | yes | 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. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| bodyJson | string | yes | The exact BODY_JSON string from prepare_evidence_write, unchanged. |
| signature | string | yes | The 0x… personal_sign output over MESSAGE_TO_SIGN. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| maxUsd | number | no | Optional ceiling — show only doors costing this much or less. |
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 ve
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The 0x… address that paid. The ADDRESS only, never a private key. |
| limit | number | no | Optional cap on payments returned (newest first). |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | The 0x… address that would pay. The ADDRESS only, never a private key. |
| endpoint | string | no | A door name from payment_options, e.g. 'work-packet'. Prices the check from the live list. |
| amountUsd | number | no | Check against a plain dollar amount instead of a named door. |
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 forwar
| Parameter | Type | Required | Notes |
|---|---|---|---|
| proposalId | string | no | Optional: only events tied to this Regen governance proposal number, e.g. '71'. |
| author | string | no | Optional: only events from this regen1… address. |
| since | string | no | Optional: a cursor a PRIOR call to this tool returned (next_cursor). Not a timestamp — pass it back verbatim to page forward. |
| limit | number | no | Max events, 1-200. Default 50. |
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 Veal
| Parameter | Type | Required | Notes |
|---|---|---|---|
| proposalId | string | no | Optional: one proposal number, e.g. '71'. Omit for the overview of everything open. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| address | string | yes | A regen1… bech32 address (not a 0x… Base address — Regen is a separate Cosmos chain). |
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 agai
| Parameter | Type | Required | Notes |
|---|---|---|---|
| limit | number | no | Max recent burns to list, newest first. Default 10. |
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 histor
No parameter schema on file.
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 ever
No parameter schema on file.
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 executabl
| Parameter | Type | Required | Notes |
|---|---|---|---|
| objective | string | yes | The useful work you want done, 5 to 300 characters, e.g. 'clear the storm drain on my street before the rain'. |
| place | string | no | Optional place name, e.g. 'Kibera' or 'Los Angeles'. Used as an address filter, never scored as work. |
| latitude | number | no | Optional, with longitude: the place's coordinates, for live packets nearby. |
| longitude | number | no | Optional, with latitude. |
| radiusKm | number | no | Search radius for live packets in km. Default 25, at most 200. |
| entryLevelOnly | boolean | no | Only work the corpus holds as entry level; the reply also carries entry_set, the posted work a stranger can take today. |
| excludeAuthority | boolean | no | Drop any unit that names an authority it requires. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| summary | string | yes | 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 identi |
| category | string | no | — |
| safetySignal | string | no | Only pass a stronger signal when the user/context explicitly supports it. Never infer one from vague distress. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| items | array | yes | Private CareWork items already known to the caller. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| reasonForVisit | string | yes | Minimum-necessary reason in the person's own words; omit direct identifiers. |
| facts | array | no | Short factual bullets only; omit direct identifiers unless strictly necessary. |
| questions | array | no | — |
| records | array | no | Names/types of relevant records, not full documents or record identifiers. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| items | array | yes | — |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| selfReportedCapacity | string | yes | — |
| privateBlockers | array | no | — |
| desiredFocus | string | no | — |
| safetySignal | string | no | — |
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 b
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | no | 0x wallet address, for a work-record certificate. |
| place | string | no | A city, address fragment, or venue name, for a place standing certificate. |
Read all open perpetual positions for a wallet on GMX v2 (Arbitrum). Read-only, no signing needed, free.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | 0x… Arbitrum wallet address to check. |
Read all pending orders (limit, stop-loss, etc.) for a wallet on GMX v2 (Arbitrum). Read-only, no signing needed, free.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | 0x… Arbitrum wallet address to check. |
Fetch current mark prices for all tradeable assets on GMX v2 (Arbitrum). Read-only, no signing needed, free.
No parameter schema on file.
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).
| Parameter | Type | Required | Notes |
|---|---|---|---|
| wallet | string | yes | 0x… Arbitrum wallet address (the order receiver — your wallet). |
| asset | string | yes | Asset symbol (e.g. 'WIF', 'ETH', 'BTC', 'SOL'). |
| side | string | yes | Position direction. |
| collateralUsd | number | yes | Collateral amount in USD (must be > 0 and ≤ $5). |
| leverage | number | yes | Leverage multiplier (1x to 10x). |
| workPacketId | string | no | 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, |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| signedRawTransaction | string | yes | 0x-prefixed raw signed transaction hex (e.g., from ethers.Wallet.signTransaction() or ethers.Signer.sendTransaction().wait()). |
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→
| Parameter | Type | Required | Notes |
|---|---|---|---|
| from_chain | string | yes | Chain the REGEN is on now. |
| to_chain | string | yes | Chain the REGEN should end up on. |
| amount | string | yes | Amount in whole REGEN (e.g. "5000"). Same 6-decimal unit on every chain. |
| sender | string | yes | The caller's OWN address on from_chain (regen1… for regen, osmo1… for osmosis, 0x… for base and arbitrum): the wallet that will sign. |
| destination | string | no | 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: |
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 se
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chain | string | yes | The chain the transaction was broadcast on (the from_chain given to prepare_bridge). |
| tx_hash | string | yes | The broadcast transaction hash: 0x plus 64 hex characters on base and arbitrum, 64 hex characters on regen and osmosis. |
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 neve
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chain | string | yes | Which live EWP deployment: "base" (chainId 8453) or "robinhood" (Robinhood Chain, chainId 4663). Same contract bytecode on both. |
| step | string | yes | The lifecycle action to prepare. |
| wallet | string | yes | Your OWN 0x… address — the wallet that will sign and pay gas for this transaction. Never send a private key anywhere. |
| workType | string | no | post only. Free text describing the work (e.g. "soil_sampling", "storm drain inspection") — bucketed into the contract's water/soil/building shelf. |
| standard | string | no | post only. The rich, specific description written on chain (e.g. "drinking_water_safety", or a fuller sentence). Defaults to workType if omitted. |
| priceUsd | number | no | post only. A positive number of US dollars (e.g. 50 for $50). Stored on chain as cents. |
| location | string | no | post only. Where the work is. Written on chain PUBLICLY and PERMANENTLY — prefer a neighborhood or city over an exact street address. |
| expiresInDays | number | no | post only. Whole number, 1 to 365: how many days the posting stays claimable. |
| workId | string | no | 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). |
| proofHash | string | no | proof only. The SHA-256 of your evidence: 64 lowercase hex characters, no 0x prefix. |
| paymentTxHash | string | no | settle only. The transaction hash (or other reference) of a payment that already happened, on any rail. |
| tokenContractAddress | string | no | settle only. The token paid with — a 0x… contract address, or the literal "native" for plain ETH. Defaults to "native". |
| tokenId | string | no | settle only. An NFT/token id if the payment minted one; empty string otherwise. |
| qualityScore | number | no | settle only. Whole number, 0 to 100. |
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 woul
| Parameter | Type | Required | Notes |
|---|---|---|---|
| chain | string | yes | Which live EWP deployment to read. |
| workId | string | yes | The numeric id of the work on THIS chain. |
| wallet | string | no | Optional. Your own 0x… address, to learn your role and next options on this job. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| actorRef | string | no | Optional self-declared reporter reference. This is attribution only, never verified identity. |
| targetKind | string | yes | What kind of Vealth surface you were using. |
| targetName | string | yes | The exact endpoint, MCP tool, capability or page, e.g. find_work or POST /labor/work. |
| targetVersion | string | no | Optional exact version/ref if known. |
| requestId | string | no | Optional request/trace id if one was returned. |
| attemptedIntent | string | yes | What you were trying to accomplish. |
| observedResult | string | yes | What actually happened, including the refusal/error if useful. |
| expectedResult | string | no | Optional: what you expected instead. |
| evidenceRefs | array | no | Optional references to existing evidence/receipts. Do not paste secrets. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Vealth or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Vealth can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.