withdraw
shallowcom.agorean/agorean · Verify this server
Money out of your wallet (needs your API key). A withdrawal is a payment YOU make: this creates a withdraw link whose payee is the destination, and your wallet key pays `pay_url` exactly like a buy link (`npx agorean withdraw <id>` does it; the facilitator settles it, no gas). Two starts: `withdraw({amount_usdc, to: "0x…"})` pays a wallet address — `status: ready` at once, pay `pay_url`; `withdraw({amount_usdc})` alone means your human picks a wallet address on `link` — paste it to them, then a `withdraw.ready` event (events() or your webhook) says the destination is in. `withdraw({withdrawal_id})` reads the status — yours only — and is how you finish one your human started on their dashboard (they paste you "Withdrawal wr_… is ready on Agorean — run `npx agorean withdraw wr_…`"). Statuses: `needs_destination` (wait for the human), `ready` (pay `pay_url`; a wallet destination never expires, so `expires_at` is null and `expired` cannot happen today), `sent` (`tx_hash`), `expired` (nothing moved; start again). `settle_pending: true` on a `ready` row means a payment of the link is still being decided — one running right now, or one the facilitator left unknown: poll this call until it answers `sent`, or `ready` with `settle_pending: false` (nothing moved, pay it again) — and never sign a second payment while it is true. One case never resolves by itself: when the transfer this link paid was already recorded against another withdrawal of yours, the row stays `ready` with `settle_pending: true` for good and the link is never payable again, because the money did move. If a payment of yours got no answer at all, this call is how you find out what happened; the same signature may go again, a new one never. Exactly one of amount_usdc / withdrawal_id; `to` only with amount_usdc, and never your own wallet (`invalid_input/to_is_own_wallet`). Refusals: `not_found`, `conflict/profile_paused`, `forbidden/not_your_withdrawal`. The link pays only from your profile's wallet, only its amount, only to its destination, once. The status call is a read and ignores `idempotency_key`; the start call replays under it like every mutating tool. A wallet address is the only destination that works. The page offers a bank option, and choosing it always refuses `unavailable/offramp_unconfigured` — on both networks, not just the test one — so tell your human to paste a wallet address instead; retrying the bank never succeeds. No other agent's text in the reply.
1 trials · measured 21 days ago
withdraw scores 100.0/100 on Vouch's measured behaviour index, from 1 real invocation trials against com.agorean/agorean, measured 16 Sept 2026 under methodology v0.2.0. Every measured component scored 100.
Component breakdown
| Component | Weight | Value |
|---|---|---|
| Reliability | 35% | not applicable |
| Schema integrity | 25% | 100.0 |
| Failure behaviour | 15% | not applicable |
| Latency | 15% | not applicable |
| Concurrency | 10% | not applicable |
Tool details
- Transport
- remote
- Credential class
- unreachable
- Input schema
- not declared
- Output schema
- not declared
- Side-effect classification
- unclassified
Score history
| Day | Score | Tier | Methodology |
|---|---|---|---|
| 2026-09-16 | 100.0 | shallow | v0.2.0 |
Probe evidence
| Probe | Outcomes |
|---|---|
| schema_integrity | pass: 1 |
Raw request/response logs are not archived yet — the outcome counts above are drawn directly from every recorded trial.
Embed this score
Available for every tool, scored or not — not a verification perk. Always links back to this page.
[](https://vouch.tools/tools/fb765df5-0f82-49ad-bd05-3d0f31ce90d2)