Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@
"tute",
"uniffi",
"unpackedProof",
"userop",
"urlencode",
"UUPS",
"uvwx",
Expand Down
93 changes: 53 additions & 40 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,87 +46,87 @@
"pages": ["mini-apps/index"]
},
{
"group": "Quick Start",
"group": "Integrate",
"pages": [
"mini-apps/quick-start/installing",
"mini-apps/quick-start/init",
"mini-apps/quick-start/commands",
"mini-apps/quick-start/responses",
"mini-apps/quick-start/testing",
"mini-apps/quick-start/app-store"
"mini-apps/quick-start/app-store",
{
"group": "Guidelines",
"pages": [
"mini-apps/guidelines/app-guidelines",
"mini-apps/guidelines/design-guidelines",
"mini-apps/guidelines/policy",
"mini-apps/guidelines/features-and-guidelines"
]
}
]
},
{
"group": "Commands",
"pages": [
"mini-apps/commands/verify",
"mini-apps/commands/pay",
"mini-apps/commands/wallet-auth",
"mini-apps/commands/send-transaction",
"mini-apps/commands/chat",
"mini-apps/commands/sign-message",
"mini-apps/commands/sign-typed-data",
"mini-apps/commands/share-contacts",
"mini-apps/commands/request-permission",
"mini-apps/commands/get-permissions",
"mini-apps/commands/how-to-send-notifications",
"mini-apps/commands/send-haptic-feedback",
"mini-apps/commands/share",
"mini-apps/commands/attestation",
"mini-apps/commands/close-miniapp"
]
},
{
"group": "Guidelines",
"pages": [
"mini-apps/guidelines/app-guidelines",
"mini-apps/guidelines/design-guidelines",
"mini-apps/guidelines/policy",
"mini-apps/guidelines/features-and-guidelines"
]
},
{
"group": "Technical Reference",
"pages": [
"mini-apps/reference/errors",
"mini-apps/reference/address-book",
"mini-apps/reference/usernames",
"mini-apps/reference/status-page",
"mini-apps/reference/payment-methods",
"mini-apps/reference/microphone"
]
},
{
"group": "Growth Playbook",
"pages": [
"mini-apps/growth/index",
"mini-apps/growth/invites-viral",
"mini-apps/growth/gamification",
"mini-apps/growth/notifications",
"mini-apps/growth/analytics"
]
},
{
"group": "Quick Actions",
"pages": [
"mini-apps/sharing/quick-actions",
"mini-apps/sharing/add-money-qa",
"mini-apps/sharing/uno-qa",
"mini-apps/sharing/swap-qa",
"mini-apps/sharing/holdstation-buy-qa",
"mini-apps/sharing/earn-wld-qa",
"mini-apps/sharing/dna-qa",
"mini-apps/sharing/sage-qa",
"mini-apps/sharing/puf-qa"
"mini-apps/reference/microphone",
{
"group": "Quick Actions",
"pages": [
"mini-apps/sharing/quick-actions",
"mini-apps/sharing/add-money-qa",
"mini-apps/sharing/uno-qa",
"mini-apps/sharing/swap-qa",
"mini-apps/sharing/holdstation-buy-qa",
"mini-apps/sharing/earn-wld-qa",
"mini-apps/sharing/dna-qa",
"mini-apps/sharing/sage-qa",
"mini-apps/sharing/puf-qa"
]
}
]
},
{
"group": "Further Reading",
"pages": [
{
"group": "Growth Playbook",
"pages": [
"mini-apps/growth/index",
"mini-apps/growth/invites-viral",
"mini-apps/growth/gamification",
"mini-apps/growth/notifications",
"mini-apps/growth/analytics"
]
},
"mini-apps/more/releases",
"mini-apps/more/webview-spec",
"mini-apps/ecosystem/ecosystem",
"mini-apps/more/community-tools-perks",
"mini-apps/more/faq",
"mini-apps/more/minikit-v2"
"mini-apps/more/minikit-v2",
"mini-apps/more/faq"
]
}
]
Expand Down Expand Up @@ -305,6 +305,7 @@
"POST /api/v2/verify/{app_id}",
"POST /api/v2/minikit/send-notification",
"GET /api/v2/minikit/transaction/{transaction_id}",
"GET /api/v2/minikit/userop/{user_op_hash}",
"GET /api/v2/minikit/transaction/debug",
"GET /api/v2/minikit/user-grant-cycle",
"GET /public/v1/miniapps/prices"
Expand Down Expand Up @@ -546,6 +547,14 @@
"source": "/api-reference/developer-portal/verify-proof",
"destination": "/api-reference/developer-portal/verify-legacy"
},
{
"source": "/mini-apps/commands/wallet-auth-v1",
"destination": "/mini-apps/commands/wallet-auth"
},
{
"source": "/mini-apps/commands/send-transaction-v1",
"destination": "/mini-apps/commands/send-transaction"
},
{
"source": "/reference/contracts",
"destination": "/world-id/reference/contracts"
Expand Down Expand Up @@ -733,6 +742,10 @@
{
"source": "/world-id/face-check/testing",
"destination": "/world-id/credentials/legacy-presets"
},
{
"source": "/mini-apps/reference/errors",
"destination": "/mini-apps/quick-start/installing"
}
],
"api": {
Expand Down
83 changes: 83 additions & 0 deletions mini-apps/commands/attestation.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
---
title: "Attestation"
description: "Request an attestation token using the unified MiniKit API."
"og:image": "https://raw.githubusercontent.com/worldcoin/developer-docs/main/images/docs/docs-meta.png"
"twitter:image": "https://raw.githubusercontent.com/worldcoin/developer-docs/main/images/docs/docs-meta.png"
---

Use `MiniKit.attestation()` to request an app attestation token for a request hash.

## Availability

- Works natively in World App
- Supports a custom fallback outside World App

## Basic Usage

```tsx
import { MiniKit } from "@worldcoin/minikit-js";
import type {
CommandResultByVia,
MiniAppAttestationSuccessPayload,
MiniKitAttestationOptions,
} from "@worldcoin/minikit-js/commands";

export async function requestAttestation() {
const input = {
requestHash: "0x1234",
} satisfies MiniKitAttestationOptions;

const result: CommandResultByVia<
MiniAppAttestationSuccessPayload,
MiniAppAttestationSuccessPayload,
"minikit"
> = await MiniKit.attestation(input);

console.log(result.data.token);
}
```

## Result

<CodeGroup>
```ts title="Type"
type AttestationResponse =
| {
executedWith: "minikit";
data: {
status: "success";
version: number;
token: string;
};
}
| {
executedWith: "fallback";
data: unknown;
};
```

```json title="Example"
{
"executedWith": "minikit",
"data": {
"status": "success",
"version": 1,
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.mock.payload"
}
}
```
</CodeGroup>

## Fallback Behavior

Use a custom `fallback` if you want equivalent behavior outside World App.

## Error Codes

| Code | Meaning |
| --- | --- |
| `unauthorized` | The request is not authorized |
| `attestation_failed` | Attestation generation failed |
| `integrity_failed` | Integrity checks failed |
| `invalid_input` | The request hash is invalid |
| `unsupported_version` | The command version is not supported |
Loading
Loading