Manifest creation
Manifest definition
To integrate with wallets through TON Connect, every app must include a manifest file that provides essential metadata.
The manifest is a JSON file named tonconnect-manifest.json
, and it must follow the format below:
{
"url": "<app-url>",
"name": "<app-name>",
"iconUrl": "<app-icon-url>",
"termsOfUseUrl": "<terms-of-use-url>",
"privacyPolicyUrl": "<privacy-policy-url>"
}
Field | Required | Description |
---|---|---|
url | Yes | Defines the app’s base URL. It is used to open the app when a user taps its icon in the wallet. Avoid a trailing slash — for example, use https://mydapp.com instead of https://mydapp.com/ — to ensure consistent routing. |
name | Yes | Defines the app name; it should be a simple word or phrase and is not used as a unique identifier. |
iconUrl | Yes | Defines the URL to the app icon. Must be in PNG or ICO format. SVG is not supported. Ideally, use a 180x180px PNG. |
termsOfUseUrl | Optional | Optional for most apps, but mandatory for apps listed on Tonkeeper’s recommended apps list. |
privacyPolicyUrl | Optional | Optional for most apps, but mandatory for apps listed on Tonkeeper’s recommended apps list. |
info
For reference, see the TON Connect specification.
Example
{
"url": "https://ton.vote",
"name": "TON Vote",
"iconUrl": "https://ton.vote/logo.png"
}
Best practices
- Place the manifest file in the root of your app and repository.
For example:
https://myapp.com/tonconnect-manifest.json
. This helps wallets discover your app more reliably and enhances the overall user experience when users connect to it.
- The fields
url
,iconUrl
,termsOfUseUrl
, andprivacyPolicyUrl
must be publicly accessible from any origin without CORS restrictions. - Ensure the
tonconnect-manifest.json
is accessible and can be retrieved via aGET
request to its URL (without requiring authentication or special CORS headers).
Next steps
Add the SDK to the project and explore the Transaction cookbook to start building with TON Connect.
Install SDK
Transaction cookbook
Was this article useful?