Create deal
tribeunal_create_dealCreate an escrow deal request that sets USDC payment terms and a Tribeunal jury as dispute arbiter. It stores the request only; the payer deposits on the deal page.
Instructions
Create an escrow deal request: the terms under which a payer wallet pays a payee wallet in USDC for work delivered within deliveryDays, with a Tribeunal jury as arbiter of any dispute. It creates a request only. Nothing is paid or held until the payer opens shareUrl and deposits with their own browser wallet on the deal page; Tribeunal never holds the money, and no Tribeunal tool can fund, release, refund or dispute a deal, since each is a wallet action a party takes on that page. Send shareUrl to the payer and the payee only; url opens only for the account that created the request. Ask the parties for their wallet addresses (0x + 40 hex, not usernames) and never guess one. description is written into the hashed terms: anyone holding the link and every juror can read it, and it survives account deletion, so put no secrets or personal data in it. If no dispute is raised by the release date (deliveryDays from now), anyone can release the money to the payee. A request cannot be edited or deleted; create a new one to change anything. Refused: 503 deals_unavailable (this server does not offer deals right now: tell a human, do not retry); 429 deal_daily_limit; 422 invalid_payer, invalid_payee, payee_is_zero, same_party, invalid_amount, amount_out_of_range, invalid_description, invalid_delivery_days, invalid_panel; 403 insufficient_scope; 404 on a server with no deal endpoints. Returns {slug, url, shareUrl, termsHash, honesty}. Proves: A deal request is stored with these terms, and termsHash is the keccak-256 of the exact terms text the payer's browser re-checks before it signs. Does NOT prove: That anything is paid or held; that the payee accepted the terms; that either address belongs to the person you think; that the description is true; that a court would uphold the deal; that the network is not a test network
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| panel | Yes | "fast_track": the first round of a dispute is decided by three AI jurors and every appeal round by people. "human": every round is decided by people. Required, no default. | |
| payee | Yes | The payee's wallet address: 0x + 40 hex, not the zero address and not the payer; a mixed-case address must carry a correct EIP-55 checksum. Nothing checks that it is the right person's wallet. | |
| payer | Yes | The payer's wallet address: 0x + 40 hex, not the zero address; a mixed-case address must carry a correct EIP-55 checksum. Only this wallet can deposit, on the deal page. Ask the payer for it. | |
| amount | Yes | The USDC amount as a decimal string with at most 6 decimal places, such as "150" or "99.5" (not minor units), above 0 and at most "2000". The escrow program also sets its own minimum and maximum; outside them the server refuses with amount_out_of_range. | |
| description | Yes | What the payee delivers, as plain text, 10-2000 characters. It is copied into the hashed terms: anyone holding the link and every juror can read it, and it survives account deletion, so no secrets or personal data. No tabs, control or invisible characters, and no line that starts with a number and a dot such as "1." (use "-" for lists). | |
| deliveryDays | Yes | Whole days from now until the release date, 2-90. Disputes can be raised only before it; after it, if none was raised, anyone can release the money to the payee. Deposits close earlier than that date; the deal page shows when. |