Submit KYC

Submit store-only KYC for a wallet, flipping it to tier1.

POST/v1/wallets/:id/kyc
wallet

Submits store-only KYC for a wallet, flipping it to tier1. Acute stores the data; the merchant asserts and is liable for its accuracy. Tier-1 is required to read a balance.

Try it, for realPOST /wallets/:id/kycscope: wallet

Test keys only. Never paste a live key. Your key is stored only in this browser (localStorage) and sent only to the same-origin playground proxy.

Equivalent request (curl / TypeScript)
curl
curl -X POST https://sandbox.api.acute.network/v1/wallets/acuinf483920175566wlt/kyc \
  -H "Authorization: Bearer acuinf_test_…" \
  -H "Content-Type: application/json" \
  -d '{"bvn":"12345678901","dateOfBirth":"1990-01-15","gender":"female","phone":"+2348012345678","addressLine1":"12 Marina Road","city":"Lagos","state":"Lagos"}'
TypeScript
const res = await fetch("https://sandbox.api.acute.network/v1/wallets/acuinf483920175566wlt/kyc", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.ACUTE_TEST_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({"bvn":"12345678901","dateOfBirth":"1990-01-15","gender":"female","phone":"+2348012345678","addressLine1":"12 Marina Road","city":"Lagos","state":"Lagos"}),
});
const { data, meta } = await res.json();

# submit wallet KYC
curl -X POST https://sandbox.api.acute.network/v1/wallets/acuinf483920175566wlt/kyc \
  -H "Authorization: Bearer acuinf_test_…" \
  -H "Content-Type: application/json" \
  -d '{
    "bvn": "12345678901",
    "dateOfBirth": "1990-01-15",
    "gender": "female",
    "phone": "+2348012345678",
    "addressLine1": "12 Marina Road",
    "city": "Lagos",
    "state": "Lagos"
  }'
{
  "success": true,
  "statusCode": 200,
  "data": {
    "id": "acuinf483920175566wlt",
    "kind": "end_user",
    "email": "ada@example.com",
    "fullName": "Ada Lovelace",
    "phone": "+2348012345678",
    "externalReference": "cust_8842",
    "kycStatus": "tier1",
    "status": "active",
    "currency": "NGN",
    "createdAt": "2026-06-24T09:14:02.118Z"
  },
  "meta": { "requestId": "req_4f9c2a7e1b0d8c3a5e6f10a2" }
}

WalletKycPayload.

idstringpathrequired

The wallet reference.

bvnstringbodyrequired

Bank Verification Number, exactly 11 digits.

dateOfBirthstringbodyrequired

Date of birth, YYYY-MM-DD.

gender'male' | 'female' | 'other'bodyrequired

The end user's gender.

phonestringbodyrequired

Phone number.

addressLine1stringbodyrequired

Primary address line.

addressLine2stringbodyoptional

Secondary address line.

citystringbodyrequired

City.

statestringbodyrequired

State.

countrystringbodyoptional

Country.

postalCodestringbodyoptional

Postal code.

The updated WalletResponseData with kycStatus: "tier1" (see create for the full shape).