Technical Reference
API Reference
Send Notification
This endpoint lets you send notifications to users of your mini app and requires an api_key
.
Body Params
- Name
wallet_addresses
- Type
- string[]
- Required
- REQUIRED
- Description
The
wallet_addresses
is an array of wallet addresses to send the notification to. Users must have opted in to notifications for your app. Max 1000 users per call.
- Name
title
- Type
- string
- Required
- REQUIRED
- Description
The
title
is the title of the notification. It should be 30 characters or less.
- Name
message
- Type
- string
- Required
- REQUIRED
- Description
The
message
is the message of the notification. It should be 200 characters or less.
- Name
mini_app_path
- Type
- string
- Required
- REQUIRED
- Description
The
mini_app_path
is the url encoded path of the mini app where your notification should link to when the user clicks on it.
Should be of the formatworldapp://mini-app?app_id=[app_id]&path=[path]
(path is optional).
Request Headers
- Name
Authorization
- Type
- string
- Required
- REQUIRED
- Description
The
Authorization
header should be theapi_key
for your app from the Developer Portal. Make sure to prefix it withBearer {api_key}
.
Request
curl -X POST "https://developer.worldcoin.org/api/v2/minikit/send-notification" \
-H "Authorization: Bearer {api_key}" \
-d '{"app_id": "app_id", "wallet_addresses": ["0x123", "0x456"], "title": "title", "message": "message", "mini_app_path": "mini_app_path"}'
Response
- Name
success
- Type
- boolean
- Description
Indicates if the API request was successful.
- Name
status
- Type
- number
- Description
The HTTP status code of the response.
- Name
result
- Type
- array
- Description
An array of notification delivery results for each wallet address, where each item contains:
walletAddress
(string): The wallet address that the notification was attempted to be sent tosent
(boolean): Whether the notification was successfully sent to this wallet addressreason
(string, optional): If the notification failed to send, this field contains the reason
Response
{
"success": true,
"status": 200,
"result": [
{
"walletAddress": "0x377da9cab87c04a1d6f19d8b4be9aef8df26fcdd",
"sent": true
},
{
"walletAddress": "0x444da9cab87c04a1d6f19d8b4be9aef8df26fcdd",
"sent": false,
"reason": "User has notification disabled for World App"
}
]
}
Get Transaction
This endpoint lets you query your apps transactions for their current status. You will only be able to
query for transactions of apps where you possess the api_key
.
Query Params
- Name
app_id
- Type
- string
- Required
- REQUIRED
- Description
The
app_id
corresponding to the transaction that is being queried.
- Name
type
- Type
- string
- Required
- REQUIRED
- Description
The
type
is either payment (pay) or transaction (sendTransaction) depending on the command you used.
Request Headers
- Name
Authorization
- Type
- string
- Required
- REQUIRED
- Description
The
Authorization
header should be theapi_key
for your app from the Developer Portal. Make sure to prefix it withBearer {api_key}
.
Request
curl -X GET "/api/v2/minikit/transaction/{transaction_id}" \
-H "Authorization: Bearer {api_key}"
Response
- Name
reference
- Type
- string
- Description
The
reference
is your specified unique identifier for the transaction.
- Name
transaction_hash
- Type
- string
- Description
The
transaction_hash
is the hash of the transaction on the blockchain.
- Name
transaction_status
- Type
- string
- Description
The current
transaction_status
, can be either 'pending', 'mined', or 'failed'.
- Name
from
- Type
- string
- Description
The
from
is the address of the sender.
- Name
chain
- Type
- string
- Description
The
chain
is the name of the blockchain network.
- Name
timestamp
- Type
- string
- Description
The
timestamp
is the time when the transaction was created, in ISO 8601 format.
- Name
token_amount
- Type
- string
- Description
The
token_amount
is the amount of tokens transferred, in BigInt with 6 decimals.
- Name
token
- Type
- string
- Description
The
token
is the type of token transferred.
- Name
to
- Type
- string
- Description
The
to
is the address of the receiver.
- Name
app_id
- Type
- string
- Description
The
app_id
is the identifier of the app initiating the transaction.
Response
{
"reference": "1fa38f30-8ee1-4e4b-9988-0517a774f96c",
"transaction_hash": "0xfb25cb74b13d51deeb1a91460619c3d86a7637d40dd29831aa38dd6cbb05e880",
"transaction_status": "pending | mined | failed",
"from": "0x0c892815f0B058E69987920A23FBb33c834289cf",
"chain": "worldchain",
"timestamp": "2024-01-01T00:00:00.000Z", // ISO 8601
"token_amount": "100000000", // amount in BigInt with 6 decimals
"token": "USDCE",
"to": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
"app_id": "app_9a73963d73efdf2e7d9472593dc9dffd"
}
Get Prices
This endpoint lets you query the latest prices of the Worldcoin token in various fiat currencies. We offer this as a service to make it easier to use WLD as a currency.
Query Params
- Name
fiatCurrencies
- Type
- string
- Required
- REQUIRED
- Description
The
fiatCurrencies
is a comma-separated list of fiat currencies following ISO4217 currency code. eg.USD,EUR,JPY,ARS
- Name
cryptoCurrencies
- Type
- string
- Required
- REQUIRED
- Description
The
cryptoCurrencies
is a comma-separated list of currencies we support. eg.USDCE,WLD
Request
curl -X GET "https://app-backend.worldcoin.dev/public/v1/prices?cryptoCurrencies=WLD&fiatCurrencies=USD"
Response (abridged)
Detailed are a just a few values in the return that could be confusing. See the response object in the bottom right column for the full list of fields
- Name
prices
- Type
- string
- Description
The
prices
is an object where each key is the respective currency code
- Name
amount
- Type
- string
- Description
The
amount
represents the non converted value for the price of 1 WLD for a given currency
- Name
decimals
- Type
- string
- Description
The current
decimals
, should be used to calculate the converted price. ie an amount of 1000000 with 6 decimals would mean a price of $1.00 via, 1000000 * 10^-6
Response
{
"result": {
"prices": {
"WLD": {
"USD": {
"asset": "USD",
"amount": "1510763",
"decimals": 6,
"symbol": "USD"
},
},
"USDCE": {
"USD": {
"asset": "USD",
"amount": "1000058",
"decimals": 6,
"symbol": "USD"
},
}
}
}
}