POCKET DOCUMENTATION

The pocket functionality allows merchants to send out funds from their seerbit pockets, to other pockets, sub-pockets, or other banks (payout).
Please note that merchants must be approved if they are to use the payout feature (For API cases only).

POCKET DASHBOARD

Once an account is approved on the seerbit merchant dashboard here, customer has a pocket Id attached to them. Merchant should then attempt logging in here on the pocket dashboard or reset password if the password reset email sent to merchant was missed.
This pocket id can be seen here:  Merchant Dashboard > Pocket  

POCKET API INTEGRATION

Authentication

This authenticates that user is valid for the pocket APIs.
With the encrypted key, you can then have access to other endpoints.
Request Sample
1curl --location 'https://pocket.seerbitapi.com/pocket/authenticate' \
2--header 'Content-Type: application/json' \
3--data-raw '{
4    "email": "youremail.com",
5    "password": "password"
6}'
Response Sample
The code snippet below shows a sample response
1{
2  "responseCode" : "00",
3  "message" : "Success",
4  "data" : {
5    "bearerToken" : "",
6    "expiryTime" : "2025-04-22T20:09:09",
7    "requirePasswordChange" : true
8  }
9}

Adding A Sub-Pocket

The  'AddASubPocket'  API adds a sub pocket that's delegated to a merchant's third-party user.
Request Sample
1curl --location 'https://pocket.seerbitapi.com/pocket/pocket-id/{{PocketID}}/sub-pocket' \
2--header 'Public-Key: {{Publickey}}' \
3--header 'Content-Type: application/json' \
4--header 'Authorization: Bearer {{YourEncryptedKey}}' \
5--data-raw '[
6    {
7        "tagGroup": "",
8        "reference": "Create_subpo77899ck987et45",
9        "pocketFunction": "BOTH",
10        "currency": "NGN",
11        "tagName": "",
12        "selfOwned": false,
13        "pocketOwner": {
14            "existingPocketOwner": "false",
15            "pocketOwnerDetails": {
16                "firstName": "Bola",
17                "lastName": "Are",
18                "emailAddress": "youremail.com",
19                "phoneNumber": "08824485749",
20                "businessName": "samsn and sons"
21            }
22        }
23    }
24]
25'
Response Sample
The code snippet below shows a sample response
1{
2  "responseCode" : "00",
3  "message" : "Success",
4  "data" : [ {
5    "pocketId" : "SBP0018103",
6    "parentId" : 3771,
7    "bankAccountNumber" : "7750209735",
8    "bankAccountName" : "samsn and sons",
9    "bankCode" : "WEMA",
10    "bankName" : "Wema Bank",
11    "canRetailPockets" : false,
12    "subPocketUserResponse" : {
13      "userName" : "youremail.com",
14      "password" : "$2a$12$VCyQhEK0ULRoxuZXXEEzJ.N56.fE5tiY6u2fxm7KWzEAUnVVDMn5K"
15    }
16  } ]
17}
18
Apart from the fields listed below, which are optional, other fields are mandatory.
Parameters
Name
Type
Description
Required?
public Key
string
public key - this can be copied from the seerbit dashboard
Yes
currency
string
Payment Currency
Yes
tranref
string
Transaction Reference
Yes
amount
string
Amount to be paid
Yes
description
string
Decription of the transaction
Yes
Fields
Description
tagGroup
A group identifier for tagging purposes.
tagName
The specific tag name within the tagGroup.

Pocket to Pocket Transfer

Parameters
Name
Type
Description
Required?
public Key
string
public key - this can be copied from the seerbit dashboard
Yes
currency
string
Payment Currency
Yes
tranref
string
Transaction Reference
Yes
amount
string
Amount to be paid
Yes
description
string
Decription of the transaction
Yes
Fields
Description
Requirement
Additional Comments
reference
A unique identifier for the transaction or action being performed.
Mandatory
This provides a unique way to reference a specific transaction or action.
pocketId
The unique identifier for the pocket.
Mandatory
Essential for identifying and referencing a specific pocket in API operations.
narration
A brief description or note about the transaction, typically a string.
Mandatory
Provides context or additional details about the transaction, useful for record-keeping and reporting.
createdOnStartDate
The start date for filtering transactions is based on their creation date, in DD-MM-YYYY format.
Optional
Helps in querying transactions created on or after this date for reporting and analysis.
createdOnEndDate
The end date for filtering transactions based on their creation date, in DD-MM-YYYY format.
Optional
Helps in querying transactions created on or before this date for reporting and analysis.
description
A merchant-defined description for the transaction or action.
Mandatory
Provides additional context and details defined by the merchant, aiding in transaction categorization and management.
page
This is the page number for paginated results.
Mandatory
Used for pagination in API responses to control which page of results is returned.
size
This is the number of records to be returned per page in paginated results.
Mandatory
Defines the size of each page in paginated API responses, controlling the number of records returned per page.
Request Sample
Dependency: Require the 'Authenticate' API
1curl --location 'https://pocket.seerbitapi.com/pocket/transfer/from-pocket/(pocketID)/to-pocket/(pocketID)' \
2--header 'Content-Type: application/json' \
3--header 'Authorization: Bearer YOUR_ENCRYPTED_KEY' \
4--data-raw '{ 
5    "responseCode": "00", 
6    "message": "Success", 
7    "data": 
8        { 
9    "responseCode": "00", 
10    "message": "Success", 
11    "data": { 
12  "amount": 100, 
13  "currency": "NGN", 
14  "reference": "{{reference}}", 
15  "description":"Test description" 
16} 
Response Sample
The code snippet below shows a sample response
1{ 
2    "responseCode": "00", 
3    "message": "Successful", 
4    "data": {} 
5} 

Pocket to Pocket Transfer

This allows you to make intra transfers between pockets.
Request Sample
1curl --location 'https://pocket.seerbitapi.com/pocket/transfer/from-pocket/(pocketID)/to-pocket/(pocketID)' \
2--header 'Content-Type: application/json' \
3--header 'Authorization: Bearer YOUR_ENCRYPTED_KEY' \
4--data-raw '{ 
5  "amount": 100, 
6  "currency": "NGN", 
7  "reference": "{{reference}}", 
8  "description":"Test description" 
9} 
Response Sample
The code snippet below shows a sample response
1{ 
2    "responseCode": "00", 
3    "message": "Successful", 
4    "data": {} 
5} 

Get Pocket Details

Response Sample
The code snippet below shows a sample response
1{ 
2    "responseCode": "00", 
3    "message": "Success", 
4    "data": { 
5        "pocketId": "SBP0000000", 
6        "accountNumber": "001005756", 
7        "status": "ACTIVE", 
8        "pocketFunction": "BOTH", 
9        "availableBalanceAmount": "28999.00", 
10        "availableBalanceCurrency": "NGN", 
11        "ledgerBalanceAmount": "28999.00", 
12        "ledgerBalanceCurrency": "NGN", 
13        "parentId": 2028, 
14        "fundingLink": "https://pay.seerbitapi.com?ps=gq8wLCuB&po=SBP0000000", 
15        "accountVerifierScheme": "BVN", 
16        "accountVerifierNumber": "000000000000", 
17        "reference": "pck012", 
18        "subPockets": null, 
19        "pocketOwner": { 
20            "pocketOwnerId": "txryfgqw", 
21            "businessName": "J.D. Inc.", 
22            "firstName": "John", 
23            "lastName": "Doe", 
24            "emailAddress": "user@maildomain.com", 
25            "phoneNumber": "0818009876", 
26            "ownerVerifierScheme": "NIN", 
27            "ownerVerifierNumber": "00000000000" 
28        }, 
29        "pocketAccounts": [ 
30            { 
31                "accountId": "f594q2mix8yg", 
32                "accountNumber": "4014123456", 
33                "bankCode": "bank code", 
34                "reference": "5z17gnfl8jy2u4etr" 
35            } 
36        ], 
37        "pocketFundings": null, 
38        "pocketLimits": [], 
39        "pocketMomos": [] 
40    } 
41}

Get All Pockets

This will allow you get all pockets assigned to a pocket.
1curl --location 'https://pocket.seerbitapi.com/pocket/pocket-id/SBP0017194' \
2--header 'Public-Key: your_public_key_here' \
Response Sample
The code snippet below shows a sample response
1{ 
2    "responseCode": "00", 
3    "message": "Success", 
4    "data": { 
5        "pocketId": "SBP0017194",
6		"accountNumber": "0010029240",
7		"status": "ACTIVE",
8		"pocketFunction": "BOTH",
9		"availableBalanceAmount": "820.00",
10		"availableBalanceCurrency": "NGN",
11		"ledgerBalanceAmount": "820.00",
12		"ledgerBalanceCurrency": "NGN",
13		"parentId": null,
14		"fundingLink": "?ps=gagY70Sx&po=SBP0017194",
15		"accountVerifierScheme": "BVN",
16		"accountVerifierNumber": "00000000000",
17		"reference": "primary-ihnwby90",
18		"tier": "UNLIMITED",
19		"subPockets": null,
20		"pocketOwner": {
21		"pocketOwnerId": "gagY70Sx",
22		"businessName": "Rexify",
23		"firstName": "Rexify",
24		"lastName": "Rexify",
25		"emailAddress": "Oguvic09@gmail.com",
26		"phoneNumber": "08160268415",
27		"ownerVerifierScheme": "NIN",
28		"ownerVerifierNumber": "00000000000"
29	},
30 	"pocketAccounts": [
31		{
32			"accountId": "9npybxw3cq60",
33			"accountNumber": "7750209576",
34			"bankCode": "WEMA",
35			"bankName": "Wema Bank",
36			"reference": ""
37		}
38	],
39	"pocketFundings": null,
40	"pocketLimits": [],
41	"pocketMomos": []
42
43}
44

Get Pocket Balance

1curl --location 'https://pocket.seerbitapi.com/pocket/balance/pocket-id/SBP0017194' \
2--header 'Public-Key: your_public_key_here' \
Response Sample
The code snippet below shows a sample response
Dependency: Requires 'Authenticate' API. 
1{ 
2    "responseCode": "00", 
3    "message": "Success", 
4    "data": { 
5        "balanceAt": "2023-03-06T09:30:27", 
6        "availableBalanceCurrency": "NGN", 
7        "availableBalanceAmount": "31001.00", 
8        "lastTransactionAt": "2023-03-06T09:19:14" 
9    } 
10} 

Get Merchant Sum

1curl --location 'https://pocket.seerbitapi.com/pocket/balances-summation/pocket-id/your_pocket_id_here' \
2--header 'Public-Key: your_public_key_here' \
Response Sample
The code snippet below shows a sample response
1{ 
2    "responseCode": "00", 
3    "message": "Success", 
4    "data": { 
5        "merchantSubPocketsBalanceSummation": "60000.00", 
6        "merchantSubPocketsBalanceSummationCurrency": "NGN", 
7        "merchantAllPocketsBalanceSummation": "30058250.00", 
8        "merchantAllPocketsBalanceSummationCurrency": "NGN" 
9    } 
10} 

Get Transaction Details

1curl --location 'https://pocket.seerbitapi.com/pocket/transaction/reference/your_reference_here'  \
2--header 'Public-Key: your_public_key_here' \
3
Response Sample
The code snippet below shows a sample response
Dependency: Requires 'Authenticate' API. 
1{ 
2    "responseCode": "00", 
3    "message": "Success", 
4    "data": { 
5		"reference": "txnP04", 
6		"pocketId": "SBP0000030", 
7		"transactionLeg": "DEBIT", 
8		"transactionAmount": "1001.00", 
9		"transactionCurrency": "NGN", 
10		"narration":
11       "Reason:Transfer:Debited:SBP0000030:Credited:SBP0000029:Amount:NGN1001:AvailableBalance:NGN28999.00", 
12		"createdAt": "2023-03-06T09:19:14", 
13		"createdBy": "user4@emaildomain.com", 
14		"transactionId": "ajhkyr0oi8fq" 
15    } 
16}

Find Transactions

Response Sample
The code snippet below shows a sample response
1{ 
2    "responseCode": "00", 
3    "message": "Success", 
4    "data": { 
5        "content": [ 
6            { 
7			"createdAt": "2023-01-27T13:47:39", 
8			"deleted": false, 
9			"reference": "fwp53c8n-C", 
10			"pocketId": "pocket ID", 
11			"transactionLeg": "CREDIT", 
12			"transactionCurrency": "NGN", 
13			"narration":
14            "Reason:Funding:Credited:100000238:Debited:SBP0000000:Amount:NGN0.0:AvailableBalance:NGN0.00", 
15			"transactionId": "bui2e9lrzoch", 
16			"description": "Balance migration", 
17			"transactionAmount": "0.00" 
18            }, 
19		{ 
20		"createdAt": "2023-03-05T22:17:09", 
21		"deleted": false, 
22		"reference": "txnP01-C", 
23		"pocketId": "100000238", 
24		"transactionLeg": "CREDIT", 
25		"transactionCurrency": "NGN", 
26		"narration":
27"Reason:Funding:Credited:100000238:Debited:SBP000000o:Amount:NGN30000000:AvailableBalance:NGN30000000.00", 
28		"transactionId": "ovky4w0u1jrd", 
29		"description": "Direct credit - GENERIC - ALL-PURPOSE", 
30		"transactionAmount": "30000000.00" 
31		}, 
32			{ 
33                "createdAt": "2023-03-05T22:17:09", 
34                "deleted": false, 
35                "reference": "Charge-ylg3i15t9qnz", 
36                "pocketId": "100000238", 
37                "transactionLeg": "DEBIT", 
38                "transactionCurrency": "NGN", 
39                "narration": "Reason:Fee:Debited:100000238:Credited:SBP0000000:Amount:NGN200.00:AvailableBalance:NGN29999800.00", 
40                "transactionId": "9sn6ejvlfdqo", 
41                "description": "Fee - Funding by account - Primary pockets - GENERIC - ALL-PURPOSE", 
42                "transactionAmount": "200.00" 
43            }, 
44      ], 
45        "pageable": { 
46            "sort": { 
47                "sorted": true, 
48                "unsorted": false, 
49                "empty": false 
50            }, 
51            "pageSize": 10, 
52            "pageNumber": 0, 
53            "offset": 0, 
54            "paged": true, 
55            "unpaged": false 
56        }, 
57        "last": true, 
58        "totalElements": 10, 
59        "totalPages": 1, 
60        "sort": { 
61            "sorted": true, 
62            "unsorted": false, 
63            "empty": false 
64        }, 
65        "first": true, 
66        "numberOfElements": 10, 
67        "size": 10, 
68        "number": 0, 
69        "empty": false 
70    } 
71}
Need something else?
If you have any questions or need general help, visit our support page
Signup for developer update
You can unsubscribe at any time. Read our privacy policy.