# POST /api/v1/hosts/payouts

Request a payout to an address (host owner; same model as withdrawals)

Operation: `requestPayout`.

Request a payout to an address (host owner; same model as withdrawals)

Payout intent locked against payable, to a saved address, or parked until the emailed link confirms a new one. Sessions confirm with `code` (POST /api/v1/withdrawals/code with kind=payout, or the authenticator); API keys reach saved addresses only.

## Endpoint

`POST https://amplerun-api.spiry.org/api/v1/hosts/payouts`

## Authentication

Use the credential and scope required by this operation. For programmatic renter/host calls: `Authorization: Bearer $AMPLERUN_API_KEY`. A host-agent signature or other specialized proof is required where the description specifies it.

## Parameters

| Name | Location | Presence | Type | Description |
| --- | --- | --- | --- | --- |
| `Idempotency-Key` | header | Required | UUID | UUID scoped to authenticated principal, route and canonical request hash. |

## Request body

Required body. 

### `application/json`

| Field | Type | Presence | Description |
| --- | --- | --- | --- |
| `network` | "base" | Optional | Defaults to base. |
| `address` | EvmAddress | Required |  |
| `amount_micro` | MicroAmount | Required |  |
| `asset` | "USDC" / "USDT" | Optional | Defaults to USDC. |
| `label` | string | Optional | Saved with a new address. |
| `code` | string | Optional |  |
| `siwe_message` | string | Optional |  |
| `signature` | string | Optional |  |

```json
{
  "$ref": "#/components/schemas/TransferRequest"
}
```

## Responses

### `202`

Queued, or waiting for the email link.

`application/json`
| Field | Type | Presence | Description |
| --- | --- | --- | --- |
| `state` | "INTENT" / "AWAITING_EMAIL_CONFIRMATION" | Required |  |
| `withdrawal_id` | UUID | Optional |  |
| `payout_id` | UUID | Optional |  |
| `confirmation_id` | UUID | Optional |  |
| `address_id` | UUID | Required |  |
| `expires_at` | Rfc3339Utc | Optional |  |
| `asset` | "USDC" / "USDT" | Required |  |

```json
{
  "$ref": "#/components/schemas/TransferAccepted"
}
```

### `default`

Error envelope. 401 unauthenticated, 403/404 forbidden, 409 conflict, 422 invalid input, 429 rate limited (code UNAVAILABLE, retryable:true, no Retry-After header), 503 unavailable money/provider state with retryable:true.

`application/json`
| Field | Type | Presence | Description |
| --- | --- | --- | --- |
| `error` | object | Required |  |

```json
{
  "$ref": "#/components/schemas/ErrorEnvelope"
}
```

## Static request outline

Replace path/query placeholders and provide the required JSON body, headers and credential from the sections above. This is a request outline, not a command that chooses an amount or starts a rental for you.

```sh
curl --request POST 'https://amplerun-api.spiry.org/api/v1/hosts/payouts' \
  --header "Authorization: Bearer $AMPLERUN_API_KEY"
```

[Schema definitions](https://docs.amplerun.com/reference/schemas.md) · [Download OpenAPI](/openapi.json) · [Authentication](https://docs.amplerun.com/agents/authentication.md) · [Errors and recovery](https://docs.amplerun.com/reference/errors.md)

---
Generated from the AmpleRun API contract.
Canonical: https://docs.amplerun.com/reference/api/request-payout/
