This section now uses an OpenAPI spec to power endpoint pages and the
playground. Prefer the endpoint pages in the sidebar for the latest
parameters, responses, and live requests. Spec:
/openapi/world-miniapps.json
.Endpoints
- POST /api/v2/create-action/
- POST /api/v2/minikit/send-notification
- POST /api/v2/verify/
- GET /api/v2/minikit/transaction/
- GET /api/v2/minikit/transaction/debug
- GET /api/v2/minikit/user-grant-cycle
- GET /public/v1/miniapps/prices
Send Notification
This endpoint lets you send localized notifications to users of your mini app and requires anapi_key
.
How do localizations work?
The user’s language is available to you when they access your mini app (via Navigator). All you need to do is provide localizations. Our backend will automatically infer which language is preferred by the user. Currently we support only a subset of languages, with plans to expand. Find the entire list here. You can only specify languages that we support.- If a user prefers a language that we don’t currently support, we will deliver the notification in English.
- If you don’t specify a localization for the user’s preferred language, the notification will not be delivered.
The response will include a specific
reason
to inform you of this.
Body Params
You are required to either specify bothtitle
and message
OR localisations
.
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.localisations
is an array of objects with properties:language
(string, required): The language of the notification.title
(string, required): The localized title of the notification.message
(string, required): The localized message of the notification.
en
language.Note: This will not localize your notifications. The
title
is the title of
the notification. It should be 30 characters or less. May contain emojis.Note: This will not localize your notifications. The
message
is the message
of the notification. It should be 200 characters or less. You can include the
special variable ${username}
in your message, which will be replaced with
the actual username of the recipient when the notification is delivered.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
format worldapp://mini-app?app_id=[app_id]&path=[path]
(path is optional).The
app_id
is the identifier of the app initiating the transaction.Request Headers
The
Authorization
header should be the api_key
for your app from the
Developer Portal. Make sure to prefix it with Bearer {api_key}
.Response
Indicates if the API request was successful.
The HTTP status code of the response.
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 to - sent
(boolean): Whether the
notification was successfully sent to this wallet address - reason
(string,
optional): If the notification failed to send, this field contains the reasonSupported Languages
Language | Code |
---|---|
English | en |
Catalan | ca |
Chinese Simplified | zh_CN |
French | fr |
German | de |
Hindi | hi |
Indonesian | id |
Japanese | ja |
Korean | ko |
Malay | ms |
Polish | pl |
Portuguese | pt |
Spanish | es |
Spanish (Latin America) | es_419 |
Thai | th |
Traditional Chinese (Taiwan) | zh_TW |
Get Transaction
api_key
.
Query Params
The
app_id
corresponding to the transaction that is being queried.The
type
is either payment (pay) or transaction (sendTransaction) depending
on the command you used.Response
The
reference
is your specified unique identifier for the transaction.The
transaction_hash
is the hash of the transaction on the blockchain.The current
transaction_status
, can be either ‘pending’, ‘mined’, or
‘failed’.The
from
is the address of the sender.The
chain
is the name of the blockchain network.The
timestamp
is the time when the transaction was created, in ISO 8601
format.The
token_amount
is the amount of tokens transferred, in BigInt with 6
decimals.The
token
is the type of token transferred.The
to
is the address of the receiver.The
app_id
is the identifier of the app initiating the transaction.Get Transaction Debug URL
This endpoint lets you debug transactions that failed during the prepare stage. It provides Tenderly URLs for permit2 operations with expired permits. You will only be able to query for transactions of apps where you possess theapi_key
.
The debug URL is only available once the permit2 expires. So for development it will be better to set a shorter expiry time so you can get the debug URL quicker.
Query Params
The
app_id
corresponding to the transaction that is being queried.Request Headers
The
Authorization
header should be the api_key
for your app from the
Developer Portal. Make sure to prefix it with Bearer {api_key}
.Response
An array of transaction debug information, where each item contains: -
debugUrl
(string): The Tenderly URL for debugging the transaction -
createdAt
(string): The timestamp when the transaction was created, in ISO
8601 format - block
(number): The block number where the transaction was
attempted - simulationRequestId
(string): The ID of the simulation request -
simulationError
(string): The error message from the simulation, if any -
walletAddress
(string): The wallet address associated with the transactionGet Prices
Query Params
The
fiatCurrencies
is a comma-separated list of fiat currencies following
ISO4217 currency code. eg. USD,EUR,JPY,ARS
The
cryptoCurrencies
is a comma-separated list of currencies we support. eg.
USDC,WLD
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 fieldsThe
prices
is an object where each key is the respective currency codeThe
amount
represents the non converted value for the price of 1 WLD for a
given currencyThe 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