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

# Simulate a deposit

> Test keys only: as if a bank transfer reached your funding account.
Credits the test wallet and sends balance.funded.



## OpenAPI

````yaml /openapi.json post /test_helpers/deposits
openapi: 3.1.0
info:
  title: FastCAC API
  description: Register Nigerian businesses with CAC from your own product.
  version: '2026-11-01'
servers:
  - url: https://api.fastcac.com/v1
security:
  - apiKey: []
tags:
  - name: Account
    description: Check your key and see your organization.
  - name: Names
    description: >-
      Check a business name against CAC's rules and registry, and the categories
      it takes, before registering it.
  - name: Registrations
    description: Register a Business Name with CAC, from draft to certificate.
  - name: Balance
    description: >-
      Your prepaid wallet: what's available, its transactions and your funding
      account.
  - name: Test helpers
    description: >-
      Test keys only: move a registration on without waiting, or simulate a
      deposit.
  - name: Webhooks
    description: Endpoints that receive events, and the events sent to them.
  - name: Webhook events
    description: What FastCAC POSTs to your webhook endpoints.
paths:
  /test_helpers/deposits:
    post:
      tags:
        - Test helpers
      summary: Simulate a deposit
      description: |-
        Test keys only: as if a bank transfer reached your funding account.
        Credits the test wallet and sends balance.funded.
      operationId: test_deposit_test_helpers_deposits_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestDeposit'
            example:
              amount: '350000.00'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/V1WalletTransaction'
              examples:
                Example:
                  value:
                    object: wallet_transaction
                    id: wtx_7cPW9q8slkcCOA6jSYlINy
                    type: deposit
                    amount: '350000.00'
                    balance_after: '1245000.00'
                    currency: NGN
                    registration_id: null
                    sender_name: TEST DEPOSIT
                    sender_bank: null
                    description: Simulated bank transfer (test mode).
                    created_at: '2026-10-25T05:53:50Z'
        '400':
          description: The request is invalid; `param` names the field.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Example:
                  value:
                    error:
                      type: invalid_request_error
                      code: parameter_invalid
                      message: amount must be more than 0 and at most 10,000,000.
                      param: amount
                      request_id: req_rXcvnjQYa2QDErQ1au3a7bSp
        '401':
          description: The API key is missing, malformed, revoked or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Example:
                  value:
                    error:
                      type: authentication_error
                      code: api_key_missing
                      message: 'Send your API key as `Authorization: Bearer <key>`.'
                      param: null
                      request_id: req_YJt2gM0BsAkpffXMBqyXSlRl
        '403':
          description: >-
            The key can't do this (for example, a test helper called with a live
            key).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Example:
                  value:
                    error:
                      type: permission_error
                      code: test_mode_only
                      message: Deposits can only be simulated with a test key.
                      param: null
                      request_id: req_24MFSvmC9xpsqmAuJ2W61Z9b
        '404':
          description: No such object for this key's organization and mode.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                Example:
                  value:
                    error:
                      type: not_found_error
                      code: resource_missing
                      message: 'No such registration: reg_0000000000000000000000.'
                      param: id
                      request_id: req_gbQw9iB4MBVzQzZgN79RVjdz
        '409':
          description: >-
            The object's state doesn't allow this, or the Idempotency-Key was
            reused.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too many requests; wait for `Retry-After` seconds.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    TestDeposit:
      properties:
        amount:
          type: string
          title: Amount
          description: >-
            Naira, as a decimal string, e.g. "350000.00". Test money; at most
            10,000,000.
      type: object
      required:
        - amount
      title: TestDeposit
    V1WalletTransaction:
      properties:
        object:
          type: string
          const: wallet_transaction
          title: Object
          default: wallet_transaction
        id:
          type: string
          title: Id
          description: wtx_…
        type:
          type: string
          enum:
            - deposit
            - deposit_held
            - deposit_released
            - registration_charge
            - adjustment
            - test_credit
          title: Type
        amount:
          type: string
          title: Amount
          description: 'Signed, in naira: positive in, negative out.'
        balance_after:
          type: string
          title: Balance After
          description: The spendable balance after it, in naira.
        currency:
          type: string
          const: NGN
          title: Currency
          default: NGN
        registration_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Registration Id
          description: reg_… for a registration_charge.
        sender_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Sender Name
          description: Who sent a deposit, as their bank reports it.
        sender_bank:
          anyOf:
            - type: string
            - type: 'null'
          title: Sender Bank
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        created_at:
          anyOf:
            - type: string
            - type: 'null'
          title: Created At
      type: object
      required:
        - id
        - type
        - amount
        - balance_after
        - registration_id
        - sender_name
        - sender_bank
        - description
        - created_at
      title: V1WalletTransaction
    Error:
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
      required:
        - error
      title: V1Error
      type: object
    ErrorDetail:
      properties:
        type:
          type: string
          enum:
            - invalid_request_error
            - authentication_error
            - payment_error
            - permission_error
            - not_found_error
            - idempotency_error
            - rate_limit_error
            - api_error
          title: Type
        code:
          type: string
          title: Code
          description: Stable and machine-readable, e.g. registration_incomplete.
        message:
          type: string
          title: Message
          description: For a developer to read; may change.
        param:
          anyOf:
            - type: string
            - type: 'null'
          title: Param
          description: The parameter at fault, as a path like proprietors[0].nin.
        request_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Request Id
          description: Also in the FastCAC-Request-Id header. Quote it to support.
        details:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Details
          description: >-
            Only on some errors. A 402 insufficient_balance carries amount_due,
            balance, currency and funding_account (number, bank, name; null
            until it's active).
      type: object
      required:
        - type
        - code
        - message
        - param
        - request_id
      title: ErrorDetail
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: 'Your secret API key: fc_test_… in test mode, fc_live_… in live mode.'

````

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