> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yativo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Initialize Card Wallet

> Initialize the card wallet to enable funding and card creation

<ParamField header="Authorization" type="string" required>
  Bearer token: `Bearer YOUR_ACCESS_TOKEN`
</ParamField>

<Note>
  The card wallet must be initialized before you can fund it or create cards. This is a one-time setup step that activates the on-chain wallet infrastructure for the card account.

  **For B2B Card Issuer customers** use the customer-scoped path: `/v1/yativo-card/customers/{yativoCardId}/safe/deploy`. Call this explicitly after KYC approval before proceeding to card creation. Even when the platform deploys the Safe automatically in the background, card creation checks the local DB state — not the card network directly — so this call is needed to sync the record. It is idempotent: if already deployed you will receive `"already_deployed": true`.
</Note>

<RequestExample>
  ```bash Own Account theme={null}
  curl -X POST 'https://crypto-api.yativo.com/api/v1/yativo-card/yativo_card_0xAbCd1234EfGh5678IjKl9012_1769031332068/safe/deploy' \
    -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
    -H 'Content-Type: application/json'
  ```

  ```bash B2B Customer theme={null}
  curl -X POST 'https://crypto-api.yativo.com/api/v1/yativo-card/customers/yativo_card_customer_8f9a..._1769031332068/safe/deploy' \
    -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
    -H 'Content-Type: application/json'
  ```
</RequestExample>

<ResponseExample>
  ```json 202 Deployment Initiated theme={null}
  {
    "success": true,
    "message": "Safe deployment initiated. Deployment typically takes up to 1 minute.",
    "data": {
      "yativo_card_id": "yativo_card_customer_8f9a...abc_1769031332068",
      "deployment_accepted": true,
      "estimated_completion": "~1 minute",
      "next_step": "monitor_deployment",
      "monitor_endpoint": "/api/yativo-card/yativo_card_customer_8f9a...abc_1769031332068/safe/deploy"
    }
  }
  ```

  ```json 200 Already Deployed theme={null}
  {
    "success": true,
    "message": "Safe is already deployed and ready",
    "data": {
      "yativo_card_id": "yativo_card_customer_8f9a...abc_1769031332068",
      "already_deployed": true,
      "safe_address": "0x7eA0940F469913c1167A2397eb5a3E9AE8DAC0dE",
      "token_symbol": "USDCe",
      "fiat_symbol": "USD",
      "account_status": 0,
      "account_status_meaning": "Ok",
      "is_ready": true,
      "monitor_endpoint": "/api/yativo-card/yativo_card_customer_8f9a...abc_1769031332068/safe/deploy"
    }
  }
  ```
</ResponseExample>

### Response fields

| Field | Type | Description |
| - | - | - |
| `already_deployed` | boolean | `true` when the Safe was already deployed before this call |
| `safe_address` | string | On-chain Safe address (present when already deployed) |
| `token_symbol` | string | Card token symbol (e.g. `USDCe`, `EURe`, `GBPe`) |
| `fiat_symbol` | string | Fiat currency code (e.g. `USD`, `EUR`, `GBP`) |
| `account_status` | number | Card network account status code. `0` = Ok, `7` = DelayQueueNotEmpty (both mean ready) |
| `account_status_meaning` | string | Human-readable status — `"Ok"` or `"DelayQueueNotEmpty"` |
| `is_ready` | boolean | `true` when the Safe is fully deployed and ready for card creation |
| `deployment_accepted` | boolean | `true` when a new deployment was initiated (202 response) |
| `monitor_endpoint` | string | Poll this `GET` endpoint to track deployment progress |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.