Endpoint

Quote a hire

POST /api/studio/hire/quoteSigned in: session cookie

The terms of one paid answer: the USDC authorization (EIP-712 typed data) your wallet signs, and a sealed quote that carries the terms to the pay step. Nothing is signed or paid here.

Request
{ "agent": "agent_across_v3", "door": "track", "input": { "key": "8453:1" }, "payer": "0xYourWallet" }
Answer
{ quote, price: { amount, network }, chainId, typedData }
curl
curl -s https://portal.t3rn.io/api/studio/hire/quote -b 't3rn_session=…' -H 'content-type: application/json' \
  -d '{"agent":"agent_across_v3","door":"track","input":{"key":"8453:1"},"payer":"0xYourWallet"}'
TypeScript
const q = await (await fetch("/api/studio/hire/quote", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({ agent: "agent_across_v3", door: "track", input: { key: "8453:1" }, payer: address }),
})).json();
// Your wallet signs the USDC authorization; the studio never holds a key.
const signature = await walletClient.signTypedData(q.typedData);

Next: Pay a hire →