# Madhouse Wallet Payout Requirements

> Madhouse Wallet Payout Requirements is a paid API for AI agents from try.madhousewallet.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-09-15).

Returns the dynamic bank-detail field descriptors (with validation rules and allowed values) required to create a payout recipient for a given currency.

## Facts

- Endpoint: GET https://try.madhousewallet.com/api/public/requirements
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/try-madhousewallet-com-7eb0fd1c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_ITRcObwFIiZdcPW4pOqti

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability try-madhousewallet-com-7eb0fd1c
```

Example prompt: What bank details and fields do I need to collect from a recipient before I can send them money in Nigerian naira (NGN)?

## When to prefer this

Use this endpoint before creating a payout recipient via the /api/public/create-recipient endpoint — it tells you exactly which fields and account types are valid for the target currency, preventing validation errors downstream. Choose this when building dynamic payout forms or automating recipient onboarding for cross-border transfers.

## Known failure modes

- Missing or invalid currency code returns an error or empty result
- Unsupported currency code may return no account types
- Network or payment (x402) failures if USDC payment is not properly handled
- Rate limiting or authorization errors if the x402 micropayment is rejected

## How this service works

Convert USDC to 45+ local currencies and receive funds directly to your bank account. Fast, secure crypto offramp powered by Madhouse Wallet.

## Output

An array of account types for the specified currency, each containing a type identifier (to use when creating a recipient), a human-readable title, and an array of field groups. Each field group contains descriptors with key, name, input type (text/select/radio/date), required flag, refreshRequirementsOnChange flag, and optional validation rules (minLength, maxLength, validationRegexp, example) plus allowed values for select/radio fields.

## Example request

```json
{
 "input": {
  "type": "http",
  "method": "GET",
  "queryParams": {
   "currency": "NGN"
  }
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "currency"
     ],
     "properties": {
      "currency": {
       "type": "string",
       "description": "ISO 4217 currency code to fetch payout requirements for, e.g. NGN, KES, EUR, INR."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "data"
     ],
     "properties": {
      "data": {
       "type": "array",
       "description": "Account types for the currency. Each item has: type (string id to pass when creating a recipient), title (string), and fields (array of groups; each group has name and a group array of field descriptors with key, name, type one of text/select/radio/date, required, refreshRequirementsOnChange, optional minLength/maxLength/validationRegexp/example and valuesAllowed for select/radio)."
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": [
   {
    "type": "nigeria_bank_account",
    "title": "Bank account",
    "fields": [
     {
      "name": "Recipient bank details",
      "group": [
       {
        "key": "bankCode",
        "name": "Bank",
        "type": "select",
        "required": true,
        "valuesAllowed": [
         {
          "key": "058",
          "name": "GTBank"
         }
        ],
        "refreshRequirementsOnChange": true
       },
       {
        "key": "accountNumber",
        "name": "Account number",
        "type": "text",
        "required": true,
        "maxLength": 10,
        "minLength": 10,
        "refreshRequirementsOnChange": false
       }
      ]
     }
    ]
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/try-madhousewallet-com-7eb0fd1c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from try.madhousewallet.com](https://www.zero.xyz/host/try.madhousewallet.com/llms.txt)
