To get the details of an asset by its unique id in the Map3 database send a GET request to /v1/asset?id=
, and the response will be an Asset object.
Request
id
- The unique asset id in the Map3 database
Responses
200 - Success
An Asset object.
404 - Not Found
If an asset with the given id cannot be found in the database.
401 - Unauthorized
If the API server has been configured to authenticate and a valid access token has not been provided in the request.
Example
curl -H "Authorization: Bearer \<AUTH TOKEN>" <https://api.map3.xyz/v1/asset>
fetch("<https://api.map3.xyz/v1/asset">, { "headers": {
"Authorization": "Bearer \<AUTH TOKEN>" } })
Get asset by network code and address
To get the details of an asset on a specific network by network code and address, send a GET request to /v1/asset?network_code=<code>&address=<address>
. The response will be an Asset object.
Request
code
- The network code (e.g. ethereum)
address
- the address of the asset on the network
Responses
200 - Success
An Asset object.
404 - Not Found
If the asset does not exist on the given network with the specified address.
401 - Unauthorized
If the API server has been configured to authenticate and a valid access token has not been provided in the request.
Example
curl -H "Authorization: Bearer <AUTH TOKEN>" https://api.map3.xyz/v1/asset?network_code=ethereum&address=0x0000000000085d4780B73119b644AE5ecd22b376
fetch("https://api.map3.xyz/v1/asset?network_code=ethereum&address=0x0000000000085d4780B73119b644AE5ecd22b376", { "headers": {
"Authorization": "Bearer <AUTH TOKEN>" } })
Network Schema
type locales = 'en' | 'es' | 'fr' | 'de' | 'it' | 'ja' | 'ko' | 'pt' | 'ru' | 'zh';
export type Description = {
[locale in locales]?: string
}
export interface Links {
explorer?: string;
research?: string;
website?: string;
github?: string;
medium?: string;
twitter?: string;
reddit?: string;
whitepaper?: string;
}
export interface Verification {
verified: boolean;
type: string;
timestamp: string;
proof: VerificationProof;
}
// TODO extend VerificationProof to include different types
type VerificationProof = AdminVerificationProof;
interface AdminVerificationProof {
signature: string;
assertion: string;
}
enum TagName {
STABLECOIN = 'stablecoin',
STAKING = 'staking',
WRAPPED = 'wrapped',
LEVERAGED = 'leveraged',
BULL = 'bull',
BEAR = 'bear'
}
interface Tag {
name: TagName;
description: string;
}
type TokenListTagInfo = {
[key in TagName]: Tag
}
interface Asset {
id: string;
type: 'asset';
address: string;
networkCode: string;
active: boolean;
color: string | null;
decimals: number;
description: Description | null;// foreign keys
links: Links | null; // foreign keys
logo: Logos | null; // foreign keys
name: string;
spam: boolean;
symbol: string;
tags: TagName[] | []; // foreign keys
type: ObjectType; // not persisted
verifications: Verification[] | [] // foreign keys
version: Version | string;
}
Example
{
"active": true,
"address": "0x0000000000085d4780B73119b644AE5ecd22b376",
"color": null,
"decimals": 18,
"description": null,
"id": "41178fe4-51ba-457f-a18c-7f763fad96fa",
"links": null,
"logo": {
"png": "https://raw.githubusercontent.com/map3xyz/ethereum-tokenlist/master/0x0000000000085d4780B73119b644AE5ecd22b376/logo.png"
},
"name": "TrueUSD",
"networkId": "ethereum",
"spam": false,
"symbol": "TUSD",
"tags": [
"stablecoin"
],
"type": "asset",
"verifications": [],
"version": "0.0.1"
}