Technical Reference

API Reference

MiniKit introduces a new api for verifying transactions.

Get Transaction

GEThttps://developer.worldcoin.org/api/v2/minikit/transaction/{transaction_id}?app_id=&type=

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 the api_key for your app from the Developer Portal. Make sure to prefix it with Bearer {api_key}.

Request

GET
/api/v2/minikit/transaction/{transaction_id}
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

GET
/api/v2/minikit/transaction/{transaction_id}
{
    "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

GEThttps://app-backend.worldcoin.dev/public/v1/miniapps/prices?cryptoCurrencies=WLD,USDCE&fiatCurrencies=

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

GET
/public/v1/miniapps/prices?...
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

GET
/public/v1/miniapps/prices?...
{
    "result": {
        "prices": {
            "WLD": {
                "USD": {
                    "asset": "USD",
                    "amount": "1510763",
                    "decimals": 6,
                    "symbol": "USD"
                },
            },
            "USDCE": {
                "USD": {
                    "asset": "USD",
                    "amount": "1000058",
                    "decimals": 6,
                    "symbol": "USD"
                },
            }
        }
    }
}

Usernames

Usernames are ENS-compatible identifiers for every World App user, ensuring consistency and easy recognition. For example, when displaying transaction history, show the username instead of the wallet address to make it more user-friendly and private. For implementation details, refer to the documentation World Usernames Documentation.