# API Link Game Account to Eragon

## Create Eragon reference account

Use your user ID as "uid" to create Eragon reference account. This API return an user access token to interact with Eragon system.

Method: POST

URL:

```typescript
/games/login-user
```

Body:

```typescript
{
    "uid": string,
    "name": string
}
```

Header:

<pre class="language-typescript"><code class="lang-typescript">{
<strong>    "x-eragon-game-api-key":{APIKEY}
</strong>}
</code></pre>

Response:

```json
{
    "statusCode": 201,
    "time": "2024-09-13T04:07:20.814Z",
    "data": {
        "accessToken": "eyJh..."
    }
}
```

## Get user info by access token

Get user information using user access token from above API.

Method: GET

URL:&#x20;

```typescript
/users/me
```

Header:

<pre class="language-typescript"><code class="lang-typescript">{
<strong>    "Authorization": "Bearer {accessToken}"
</strong>}
</code></pre>

Response:

```json
{
    "statusCode": 200,
    "time": "2024-09-13T04:14:07.360Z",
    "data": {
        "_id": "66a9e476895018d43745b973",
        "uid": "tele",
        "name": "test ",
        "wallets": [],
        "loginMethod": "Game",
        "status": "ACTIVE",
        "era3": 0,
        "eragonDeps": 0,
        "pot": 0,
        "potLevel": 0,
        "pos": 0,
        "posLevel": 0,
        "pop": 0,
        "popLevel": 1,
        "startMineEra3Ts": 1722410102315,
        "sessionEra3Rate": 0.0007045555,
        "sessionEra3Duration": 86400,
        "isVerifiedDeveloper": false,
        "avatarActiveTs": null,
        "avatarDieTs": 1722410102340,
        "lastCalcAvatarTs": null,
        "point": 0,
        "shield": 0,
        "lastCalcRollTicketTs": null,
        "baseRollTicket": 0,
        "spentRollTicket": 0,
        "wastedRollTicket": 0,
        "rewardRollTicket": 7,
        "rollTicketRefillTime": null,
        "lastAttackedTs": null,
        "attackOpponents": [],
        "orgAttackOpponents": [],
        "particleWallets": [],
        "particleLoginMethod": "other",
        "smartAccounts": {},
        "equipments": {
            "head": null,
            "weapon": null,
            "body": null,
            "accessory": null,
            "theme": null
        },
        "equipmentInventory": [],
        "equipmentRollTime": 0,
        "referralCode": "EGFBFW7UB5",
        "referrers": [],
        "registerDate": "2024-07-31T07:15:02.343Z",
        "newRegistRefRewardLastDate": "20240807",
        "game": "66a14648291a748b95739ee7",
        "createdAt": "2024-07-31T07:15:02.349Z",
        "updatedAt": "2024-09-13T04:07:20.804Z",
        "__v": 0,
        "aptosAddress": "0x70f83279acb22dc6d5b1c6659471481bfab8c79862aec6da624c58c097361213",
        "sessionEra3Seconds": 86400,
        "sessionEra3Value": 60.8735952,
        "rollTicket": 0,
        "maxSessionEra3Rate": 0.006341,
        "avatarBoostRate": 1,
        "giftCodeBoostRate": 1
    }
}
```

## Get Aptos wallet&#x20;

When account is created, Eragon system also create a wallet (includes private key). You can use this wallet to interact with Aptos chain.

Method: GET

URL:

```typescript
/users/getAptosWallet
```

Header:

```typescript
{
    "Authorization": "Bearer {accessToken}"
}
```

Response:

```json
{
    "statusCode": 200,
    "time": "2024-09-13T04:17:03.738Z",
    "data": {
        "_id": "66e3ba78d2d6628c17ea79d4",
        "privKey": "0x78a...",
        "pubKey": "0xc37040459b4b794db654dca626",
        "address": "0x70f8...",
        "user": "66a9e476895018d43745b973",
        "uid": "tele",
        "createdAt": "2024-09-13T04:07:20.784Z",
        "updatedAt": "2024-09-13T04:07:20.784Z"
    }
}
```

## Transfer EGON between accounts

Transfer user property between linked account

Method: POST

URL:

```typescript
/users/transferEgonBetweenAccounts
```

Header:

```typescript
{
    "Authorization": "Bearer {accessToken}"
}
```

Body

```typescript
{
    "toAccountId":string,
    "amount":1
}
```

Response:

```json
{
    "statusCode": 201,
    "time": "2024-09-13T04:21:57.091Z",
    "data": {
        "fromUser": {
            "_id": "66a9e476895018d43745b973",
            "uid": "tele",
            "name": "test ",
            "wallets": [],
            "loginMethod": "Game",
            "status": "ACTIVE",
            "era3": 0,
            "eragonDeps": 12119,
            "pot": 0,
            "potLevel": 0,
            "pos": 0,
            "posLevel": 0,
            "pop": 0,
            "popLevel": 1,
            "startMineEra3Ts": 1722410102315,
            "sessionEra3Rate": 0.0007045555,
            "sessionEra3Duration": 86400,
            "isVerifiedDeveloper": false,
            "avatarActiveTs": null,
            "avatarDieTs": 1722410102340,
            "lastCalcAvatarTs": null,
            "point": 0,
            "shield": 0,
            "lastCalcRollTicketTs": null,
            "baseRollTicket": 0,
            "spentRollTicket": 0,
            "wastedRollTicket": 0,
            "rewardRollTicket": 7,
            "rollTicketRefillTime": null,
            "lastAttackedTs": null,
            "attackOpponents": [],
            "orgAttackOpponents": [],
            "particleWallets": [],
            "particleLoginMethod": "other",
            "smartAccounts": {},
            "equipments": {
                "head": null,
                "weapon": null,
                "body": null,
                "accessory": null,
                "theme": null
            },
            "equipmentInventory": [],
            "equipmentRollTime": 0,
            "referralCode": "EGFBFW7UB5",
            "referrers": [],
            "registerDate": "2024-07-31T07:15:02.343Z",
            "newRegistRefRewardLastDate": "20240807",
            "game": "66a14648291a748b95739ee7",
            "createdAt": "2024-07-31T07:15:02.349Z",
            "updatedAt": "2024-09-13T04:21:57.070Z",
            "__v": 0,
            "aptosAddress": "0x70f83279acb22dc6d5b1c6659471481bfab8c79862aec6da624c58c097361213",
            "eragonUser": "6683b8cdc4976d0db0159ab7"
        },
        "toUser": {
            "_id": "6683b8cdc4976d0db0159ab7",
            "uid": "test@gmail.com",
            "email": "test@gmail.com",
            "name": "test",
            "picture": "https://lh3.googlegCZws17vewEXw=s96-c",
            "wallets": [],
            "aptosAddress": "0xe58e732326a2cfdc01fbd5",
            "loginMethod": "Keyless",
            "status": "ACTIVE",
            "era3": 401.52820166,
            "eragonDeps": 4489.30207873,
            "pot": 0,
            "potLevel": 0,
            "pos": 0,
            "posLevel": 0,
            "pop": 1500000,
            "popLevel": 46,
            "startMineEra3Ts": 1725944366650,
            "sessionEra3Rate": 0.000792625,
            "sessionEra3Duration": 86400,
            "isVerifiedDeveloper": false,
            "avatarActiveTs": null,
            "avatarDieTs": 1719908557852,
            "lastCalcAvatarTs": null,
            "point": 0,
            "shield": 0,
            "lastCalcRollTicketTs": null,
            "baseRollTicket": 0,
            "spentRollTicket": 0,
            "wastedRollTicket": 0,
            "rewardRollTicket": 7,
            "rollTicketRefillTime": null,
            "lastAttackedTs": null,
            "attackOpponents": [],
            "orgAttackOpponents": [],
            "particleWallets": [],
            "particleLoginMethod": "other",
            "smartAccounts": {},
            "equipments": {
                "head": null,
                "weapon": null,
                "body": null,
                "accessory": null,
                "theme": null
            },
            "equipmentInventory": [],
            "equipmentRollTime": 0,
            "referralCode": "EGTLYMFIL7",
            "referrer": "661674f3ef522c9801b732bb",
            "referrers": [
                "661674f3ef522c9801b732bb",
                "654e1373907962fe76aaa846",
                "6555d4e3db799f2d8e5643c7"
            ],
            "registerDate": "2024-07-02T08:22:37.855Z",
            "newRegistRefRewardLastDate": "20240709",
            "createdAt": "2024-07-02T08:22:37.863Z",
            "updatedAt": "2024-09-13T04:21:57.083Z",
            "__v": 0
        }
    }
}
```

## Create link account code

Create link account code to let customer manual link account to their Eragon keyless account

Method: GET

URL:

```typescript
/users/createLinkCode
```

Header:

```typescript
{
    "Authorization": "Bearer {accessToken}"
}
```

Response:

```json
{
    "statusCode": 201,
    "time": "2024-09-13T04:24:15.239Z",
    "data": "https://devnet.eragon.gg/link-account?access_token=47502G4XG1EJ"
}
```

## Get linked account

Get list linked account to this account

Method: GET

URL:

```typescript
/users/linkedAccountsFromGame
```

Header:

```typescript
{
    "Authorization": "Bearer {accessToken}"
}
```

Response:

```json
{
    "statusCode": 200,
    "time": "2024-09-13T04:26:35.743Z",
    "data": {
        "users": [
            {
                "_id": "6683b8cdc4976d0db0159ab7",
                "updatedAt": "2024-09-13T04:21:57.083Z",
                ...
            },
            {
                "_id": "66a9e4ec895018d43745b985",
                "uid": "601729616",
                "name": "Tùng Béo",
                "eragonUser": "6683b8cdc4976d0db0159ab7",
                ...
            }
        ]
    }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.eragon.gg/api-link-game-account-to-eragon.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
