# FIO Protocol Developer Hub Documentation > Technical documentation for integrators of FIO Protocol. ## Guides - [Getting Started](https://dev.fio.net/docs/getting-started.md): Welcome to FIO Protocol Developer's Hub. This page will help you get started with FIO Protocol. - [Benefits of Integration](https://dev.fio.net/docs/benefits-of-integration.md) - [Integration Options](https://dev.fio.net/docs/integration-options.md): There are many ways FIO Protocol can improve your user's experience. Check them out below. - [Resolve FIO Handle](https://dev.fio.net/docs/resolve-fio-handle.md) - [FIO Handle](https://dev.fio.net/docs/fio-handle.md) - [FIO Handle Mapping](https://dev.fio.net/docs/fio-handle-mapping.md) - [FIO Request](https://dev.fio.net/docs/fio-request.md) - [FIO Token](https://dev.fio.net/docs/fio-token.md) - [Fetch FIO Chain State Data](https://dev.fio.net/docs/fetch-fio-chain-state-data.md) - [FIO App](https://dev.fio.net/docs/fio-app.md) - [FIO App API](https://dev.fio.net/docs/fio-app-api.md) - [MetaMask using FIO Wallet Snap](https://dev.fio.net/docs/fio-wallet-snap.md) - [Wallet as a Service](https://dev.fio.net/docs/wallet-as-a-service.md) - [Integration Use Cases](https://dev.fio.net/docs/use-cases.md) - [Centralized Exchange](https://dev.fio.net/docs/centralized-exchange.md) - [Non-custodial Wallet](https://dev.fio.net/docs/non-custodial-wallet.md) - [Write Transactions](https://dev.fio.net/docs/write-transactions.md) - [FIO Brand and UX Assets](https://dev.fio.net/docs/fio-identity.md): FIO Brand assets for marketing and integration purposes. - [Overview](https://dev.fio.net/docs/fio-chain-overview.md) - [On-chain Fees](https://dev.fio.net/docs/on-chain-fees.md) - [Accounts and permissions](https://dev.fio.net/docs/accounts-and-permissions.md) - [FIO Public/Private Keys](https://dev.fio.net/docs/fio-public-private-keys.md) - [Encryption in FIO Request and FIO Data](https://dev.fio.net/docs/encryption-in-fio-request-and-fio-data.md) - [FIO Chain Node](https://dev.fio.net/docs/chain-node.md) - [Install Using Packages](https://dev.fio.net/docs/install-using-packages.md): Manual installation using pre-built packages - [Install Script](https://dev.fio.net/docs/install-script.md): Script to perform an all-in-one installation, configuration and startup of FIO - [Build from Source](https://dev.fio.net/docs/build-from-source.md) - [Install Using Docker](https://dev.fio.net/docs/install-using-docker.md) - [Configure and Run Your Node](https://dev.fio.net/docs/configure-and-run-your-node.md) - [Nodeos Replay](https://dev.fio.net/docs/nodeos-replay.md) - [Update Your Node](https://dev.fio.net/docs/update-your-node.md) - [Uninstall and Cleanup](https://dev.fio.net/docs/uninstall-and-cleanup.md): Remove a FIO installation and cleanup leftover FIO install artifacts - [Command-line interface](https://dev.fio.net/docs/command-line-interface.md): FIO Chain Command-line interface Tools - [Block Producers](https://dev.fio.net/docs/block-producers.md) - [Being a FIO Block Producer](https://dev.fio.net/docs/being-a-fio-block-producer.md) - [Setting Fees](https://dev.fio.net/docs/setting-fees.md) - [Other Tools](https://dev.fio.net/docs/other-tools.md) - [Chronicle](https://dev.fio.net/docs/chronicle.md) - [Getting Started](https://dev.fio.net/docs/contributing-to-fio.md) ## API Reference - [FIO Protocol APIs](https://dev.fio.net/reference/fio-protocol-apis.md) - [Getting Started](https://dev.fio.net/reference/fio-chain-getters-api.md) - [Get Public Address](https://dev.fio.net/reference/get_pub_address.md): This is the main API endpoint to resolve FIO Handle. It returns a public address for supplied FIO Handle and chain/token code. All chains and tokens are supported. Expect parameters to be attached to the public address to accommodate such additional information as Destination Tags on Ripple. This is referred to as Multi-level addressing. See [Chain and token code standard](https://github.com/fioprotocol/fips/blob/master/fip-0015.md) for chain and token codes as well as Multi-level addressing parameters. Submit a pull request if you don't see something you need. - [Get All Public Addresses](https://dev.fio.net/reference/get_pub_addresses.md): This API endpoint returns **all public address** for supplied FIO Handle. All chains and tokens are supported. Expect parameters to be attached to the public address to accommodate such additional information as Destination Tags on Ripple. This is referred to as Multi-level addressing. See [Chain and token code standard](https://github.com/fioprotocol/fips/blob/master/fip-0015.md) for chain and token codes as well as Multi-level addressing parameters. Submit a pull request if you don't see something you need. - [Get Mapped NFTs](https://dev.fio.net/reference/get_nfts_fio_address.md): This API endpoint returns all NFT Signatures for supplied FIO Handle. - [Get FIO Handles](https://dev.fio.net/reference/get_fio_addresses.md): Returns FIO Handles owned by the supplied FIO Public Key. - [Get FIO Domains](https://dev.fio.net/reference/get_fio_domains.md): Returns FIO Domains owned by the supplied FIO Public Key. - [Check availability](https://dev.fio.net/reference/avail_check.md): Checks if a FIO Handle or FIO Domain is available for registration. - [Get FIO Token Balance](https://dev.fio.net/reference/get_fio_balance.md): Returns FIO Token balance for supplied IO Public Key. Also returns available balance which only includes tokens which are not locked. - [Get FIO Token Locks](https://dev.fio.net/reference/get_locks.md): Returns information about FIO Token locks which may apply to the supplied FIO Public Key. You may run this call, when get_fio_balance returns different amounts for balance and available, which would indicate some tokens are locked. - [Get Pending FIO Requests](https://dev.fio.net/reference/get_pending_fio_requests.md): Returns FIO Requests awaiting response by the supplied FIO Public Key. - [Get Sent FIO Requests](https://dev.fio.net/reference/get_sent_fio_requests.md): Returns FIO Requests sent by the supplied FIO Public Key. - [Get Received FIO Requests](https://dev.fio.net/reference/get_received_fio_requests.md): Returns all FIO Requests received by the supplied FIO Public Key, irrespective of status. - [Get Cancelled FIO Requests](https://dev.fio.net/reference/get_cancelled_fio_requests.md): Returns FIO Requests sent by the supplied FIO Public Key, which are in the cancelled status. - [Get Encrypt Key](https://dev.fio.net/reference/get_encrypt_key.md): Returns the FIO Public Key to use for encryption of New Funds Request/Record OBT content blob. For additional information see: * [Encryption in FIO Request and FIO Data](https://dev.fio.net/docs/encryption-in-fio-request-and-fio-data) * [FIP-39](https://github.com/fioprotocol/fips/blob/master/fip-0039.md) - [Get FIO Data](https://dev.fio.net/reference/get_obt_data.md): Returns FIO Data received by the supplied FIO Public Key. - [Get Mapped NFTs for Contract](https://dev.fio.net/reference/get_nfts_contract.md): Returns all NFT Signatures for supplied NFT contract and token ID. - [Get Mapped NFTs for Hash](https://dev.fio.net/reference/get_nfts_hash.md): Returns all NFT Signatures for supplied NFT hash. - [Get FIO Chain Fee](https://dev.fio.net/reference/get_fee.md): Returns FIO Chain fee amount for supplied fee type. If fio_address is passed and the fee can be paid with bundled transactions and the supplied fio_address has enough remaining bundled transactions, the fee returned will be 0. - [Get FIO Bridge Fees](https://dev.fio.net/reference/get_oracle_fees.md): Returns FIO Bridge fee amounts. - [Get Actor](https://dev.fio.net/reference/get_actor.md): Convenience method, which returns the actor for the supplied FIO Public Key. The FIO Chain is not checked for existence of this actor, it simply converts the key to actor using hash function. - [Get Account FIO Public Key](https://dev.fio.net/reference/get_account_fio_public_key.md): Convenience method, which returns the FIO Public Key supplied account, aka actor. Use this method when you want to send FIO Tokens to an account and do not know the associated FIO Public Key which is required by [transfer_tokens_pub_key](/reference/transfer_tokens_pub_key). For additional information see [FIP-36](https://github.com/fioprotocol/fips/blob/master/fip-0036.md) - [Get Chain Information](https://dev.fio.net/reference/get_info.md): Returns information about the FIO Chain. - [Get Block Information](https://dev.fio.net/reference/get_block.md): Returns information about supplied FIO Chain block. - [Get Raw ABI](https://dev.fio.net/reference/get_raw_abi.md): Returns smart contract abi. - [Get Block Producers](https://dev.fio.net/reference/get_producers.md): Returns all block producers and their scaled votes. - [Get Table Rows](https://dev.fio.net/reference/get_table_rows.md): Returns rows from supplied table. See [Fetch FIO Chain State Data](/docs/fetch-fio-chain-state-data) for more information. - [Get Grantee Permissions](https://dev.fio.net/reference/get_grantee_permissions.md): Returns all domain permissions for supplied grantee_account. For additional information see: * [FIO-specific Permissions](https://dev.fio.net/docs/accounts-and-permissions#fio-specific-permissions) * [FIP-40](https://github.com/fioprotocol/fips/blob/master/fip-0040.md) - [Get Grantor Permissions](https://dev.fio.net/reference/get_grantor_permissions.md): Returns all domain permissions for supplied account. For additional information see: * [FIO-specific Permissions](https://dev.fio.net/docs/accounts-and-permissions#fio-specific-permissions) * [FIP-40](https://github.com/fioprotocol/fips/blob/master/fip-0040.md) - [Get Object Permissions](https://dev.fio.net/reference/get_object_permissions.md): Returns all permissions for supplied object. For additional information see: * [FIO-specific Permissions](https://dev.fio.net/docs/accounts-and-permissions#fio-specific-permissions) * [FIP-40](https://github.com/fioprotocol/fips/blob/master/fip-0040.md) - [Getting Started](https://dev.fio.net/reference/fio-chain-actions-api.md) - [Register Block Producer](https://dev.fio.net/reference/register_producer.md): This action registers calling account as a block producer. See [Being a FIO Block Producer guide](/docs/being-a-fio-block-producer) for more information. As of [FIP-47](https://github.com/fioprotocol/fips/blob/master/fip-0047.md), this action can be called even when producer is already registered to update their information. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **eosio** * name: **regproducer** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=regproducer.js) - [Unregister Block Producer](https://dev.fio.net/reference/unregister_producer.md): This action unregisters calling account as a block producer. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **eosio** * name: **unregprod** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=unregprod.js) - [Submit Fee Ratios](https://dev.fio.net/reference/submit_fee_ratios.md): This action only allowed to be made by the top 150 BPs and is designed to submit fee ratios. See [Setting Fees Guide](/docs/setting-fees) for more information. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.fee** * name: **setfeevote** - [Submit Fee Multiplier](https://dev.fio.net/reference/submit_fee_multiplier.md): This action only allowed to be made by the top 150 BPs and is designed to submit fee multiplier. See [Setting Fees Guide](/docs/setting-fees) for more information. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.fee** * name: **setfeemult** - [Compute Fees](https://dev.fio.net/reference/compute_fees.md): This action computes fees based on block producer votes. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.fee** * name: **computefees** - [Submit Bundled Transaction Count](https://dev.fio.net/reference/submit_bundled_transaction.md): This action is only allowed to be made by the top 150 BPs and is designed to submit bundled transaction amount which should be allocated to new FIO Handle registrations. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.fee** * name: **bundlevote** - [Claim BP Reward](https://dev.fio.net/reference/claim_bp_rewards.md): This action pays BP reward to calling BP. It is only allowed to be made each BP once every 24 hours. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **eosio** * name: **bpclaim** - [Pay TPID Rewards](https://dev.fio.net/reference/pay_tpid_rewards.md): This action pays all outstanding TPID rewards. Can be called by anyone. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.treasury** * name: **tpidclaim** - [Burn Expired Domains](https://dev.fio.net/reference/burn_expired.md): This action burns all expired domains and associated FIO Handles and its content. Can be called by anyone. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **burnexpired** - [Burn NFT Signatures](https://dev.fio.net/reference/burn_nft_signatures.md): This action burns all NFT Signatures, which were removed using the `remallnfts` action. Can be called by anyone. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **burnnfts** - [Vote on Block Producers](https://dev.fio.net/reference/vote_producer.md): This action submits block producer vote. All available FIO Tokens in voting account are voted to every supplied block producer. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **eosio** * name: **voteproducer** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=voteproducer.js) - [Proxy Vote](https://dev.fio.net/reference/proxy_vote.md): This action proxies account's FIO Tokens to supplied proxy account for voting purposes. The voting power will be allocated to block producers that are voted on by the proxy account. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **eosio** * name: **voteproxy** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=voteproxy.js) - [Register Proxy](https://dev.fio.net/reference/register_proxy.md): This action registers calling account as a proxy. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **eosio** * name: **regproxy** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=regproxy.js) - [Unregister Proxy](https://dev.fio.net/reference/unregister_proxy.md): This action unregisters calling account as a proxy. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **eosio** * name: **unregproxy** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=unregproxy.js) - [New FIO Chain Account](https://dev.fio.net/reference/new_fio_chain_account.md): This action unregisters calling account as a proxy. For additional information see [FIP-38](https://github.com/fioprotocol/fips/blob/master/fip-0038.md) > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **eosio** * name: **newfioacc** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=newfioacc.js) - [Add Permission](https://dev.fio.net/reference/add_fio_permission.md): This action adds specified permission. For additional information see: * [FIO-specific Permissions](https://dev.fio.net/docs/accounts-and-permissions#fio-specific-permissions) * [FIP-40](https://github.com/fioprotocol/fips/blob/master/fip-0040.md) > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.perms** * name: **addperm** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=addperm.js) - [Remove Permission](https://dev.fio.net/reference/remove_fio_permission.md): This action removes specified permission. For additional information see: * [FIO-specific Permissions](https://dev.fio.net/docs/accounts-and-permissions#fio-specific-permissions) * [FIP-40](https://github.com/fioprotocol/fips/blob/master/fip-0040.md) > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.perms** * name: **remperm** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=remperm.js) - [Record FIO Data](https://dev.fio.net/reference/record_obt_data.md): This call record FIO Data. See [FIO Data Guide](/docs/fio-data) for more information. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.reqobt** * name: **recordobt** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=recordobt.js) - [Map Public Address](https://dev.fio.net/reference/add_pub_address.md): This call maps the supplied public address on the supplied blockchain for the supplied token to the supplied FIO Handle, so that it can be returned using [/get_pub_address](/reference/get_pub_address). You may pass up to 5 public addresses in a single call. A maximum of 200 public addresses may be mapped to a FIO Handle. By specifying "*" for the token code you can map all tokens for that chain to the same address. The `actor` must own the supplied FIO Handle. See [FIO Handle Mapping Guide](/docs/fio-handle-mapping) form more information. If you choose to modify the mapping for `chain_code=FIO` & `token_code=FIO`, please first read [Setting different encrypt key](https://dev.fio.net/docs/encryption-in-fio-request-and-fio-data#setting-different-encrypt-key). > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **addaddress** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=addaddress.js) - [Remove Mapped Public Address](https://dev.fio.net/reference/remove_pub_address.md): This call removes the mapping of the supplied public address on the supplied blockchain for the supplied token from the supplied FIO Handle, so that it will no longer be returned using [/get_pub_address](/reference/get_pub_address). When \* is specified as token_code only that entry is removed. For example if the FIO Handle is mapped to ETH-USDC and ETH-\* and the user removes ETH-* as a mapping, ETH-USDC is retained. The `actor` must own the supplied FIO Handle. See [FIO Handle Mapping Guide](/docs/fio-handle-mapping) form more information. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **remaddress** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=remaddress.js) - [Remove All Mapped Public Addresses](https://dev.fio.net/reference/remove_all_pub_addresses.md): This call removes all public addresses mapped to the supplied FIO Handle. The `actor` must own the supplied FIO Handle. See [FIO Handle Mapping Guide](/docs/fio-handle-mapping) form more information. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **remalladdr** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=remalladdr.js) - [Register](https://dev.fio.net/reference/register_fio_address.md): This call registers a new FIO Handle. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **regaddress** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=addaddress.js) - [Register FIO Domain and Address](https://dev.fio.net/reference/register_fio_domain_address.md): Registers FIO Domain and FIO Address in single transaction. This is an alternative to using regdomain and then regaddress. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **regdomadd** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=regdomadd.js) - [Add Bundled Transactions](https://dev.fio.net/reference/add_bundled_transactions.md): This call adds 100 [bundled transactions](/docs/on-chain-fees#bundled-transactions) to the supplied FIO Handle. When bundles are purchased one or more sets of bundled transactions are added to the existing count. The `actor` does not need to own the supplied FIO Handle. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **addbundles** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=addbundles.js) - [Transfer Ownership](https://dev.fio.net/reference/transfer_fio_address.md): This call transfers ownership of the supplied FIO Handle to a new owner. The `actor` must own the supplied FIO Handle. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **xferaddress** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=xferaddress.js) - [Renew](https://dev.fio.net/reference/renew_fio_address.md): This call renews a FIO Handle. When a FIO Handle is renewed: * 365 days are added to the current expiration date (not date when renewal is ran) * A new bundle of transactions is added to the existing count. After [FIP-31](https://github.com/fioprotocol/fips/blob/master/fip-0031.md) was implemented, FIO Handles no longer expire and are only burned if the FIO Domain they are on expires. Therefore, this call now has the same effect as /add_budles. The `actor` does not need to own the supplied FIO Handle. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **renewaddress** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=renewaddress.js) - [Burn](https://dev.fio.net/reference/burn_fio_address.md): This call burns (deletes) supplied FIO Handle. The `actor` must own the supplied FIO Handle. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **burnaddress** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=burnaddress.js) - [Register FIO Domain](https://dev.fio.net/reference/register_fio_domain.md): This call registers a new FIO Domain. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **regdomain** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=regdomain.js) - [Renew FIO Domain](https://dev.fio.net/reference/renew_fio_domain.md): This call renews a FIO Domain and adds 365 days to its current expiration date. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. The `actor` does not need to own the supplied FIO Domain. #### Actions parameters * account: **fio.address** * name: **renewdomain** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=renewdomain.js) - [Transfer FIO Domain Ownership](https://dev.fio.net/reference/transfer_fio_domain.md): This call transfers ownership of the supplied FIO Domain to a new owner. The `actor` must own the supplied FIO Domain. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **xferdomain** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=xferdomain.js) - [Set FIO Domain Public or Private](https://dev.fio.net/reference/set_fio_domain_public.md): This call sets the is_public switch on the supplied FIO Domain. By default all FIO Domains are non-public, meaning only the owner can register FIO Crypto Handles (aka FIO Addresses) on that domain. Setting them to public allows anyone to register a FIO Crypto Handle on that domain. The `actor` must own the supplied FIO Domain. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **setdomainpub** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=setdomainpub.js) - [Wrap FIO Domain](https://dev.fio.net/reference/wrap_fio_domains.md): This action wraps FIO Domain to another chain. Currently, only Polygon chain is supported (chain_code: MATIC). When FIO Domains are wrapped, they are first sent to an escrow contract on the FIO Chain. Next, a set of oracles run by FIO Block Producers detect the wrapped domain and mint ERC-721 NFT to the supplied Polygon public_address. See [Wrapped FIO Domain Guide](/docs/wrapped-fio-domain) for more information. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.oracle** * name: **wrapdomain** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=wrapdomain.js) - [New FIO Request](https://dev.fio.net/reference/new_funds_request.md): This call creates new FIO Request. See [FIO Request Guide](/docs/fio-request) for more information. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.reqobt** * name: **newfundsreq** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=newfundsreq.js) - [Cancel FIO Request](https://dev.fio.net/reference/cancel_funds_request.md): This call cancels FIO Request. See [FIO Request Guide](/docs/fio-request) for more information. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.reqobt** * name: **cancelfndreq** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=cancelfndreq.js) - [Reject FIO Request](https://dev.fio.net/reference/reject_funds_request.md): This call rejects FIO Request. See [FIO Request Guide](/docs/fio-request) for more information. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.reqobt** * name: **rejectfndreq** - [Update Encryption Key](https://dev.fio.net/reference/update_encrypt_key.md): This call updates encryption key. For additional information see: * [Encryption in FIO Request and FIO Data](https://dev.fio.net/docs/encryption-in-fio-request-and-fio-data) * [FIO Request Guide](/docs/fio-request) and [FIP-39](https://github.com/fioprotocol/fips/blob/master/fip-0039.md) for more information. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **updcryptkey** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=updcryptkey.js) - [Transfer FIO Tokens](https://dev.fio.net/reference/transfer_tokens_pub_key.md): This action transfers FIO Tokens to a supplied FIO Public Key. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.token** * name: **trnsfiopubky** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=trnsfiopubky.js) - [Transfer Locked FIO Tokens](https://dev.fio.net/reference/transfer_locked_tokens.md): This action transfers locked FIO Tokens to a supplied FIO Public Key. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.token** * name: **trnsloctoks** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=trnsloctoks.js) - [Stake FIO Tokens](https://dev.fio.net/reference/stake_fio_tokens.md): This action stakes FIO Tokens. User can stake any available FIO Token amount in their account at any point in time. To stake, the account has to be voting for at least 1 BP or proxying/auto-proxying. The auto-proxy can be acomplished in this action by passing a TPID which is also a proxy. The FIO Tokens do not actually leave the user's account, but are instead "locked" and cannot be spent until unstaked. When tokens are staked, they cannot be transferred, used to pay a FIO Chain fee, or locked. Tokens that are Staked do count towards voting power of account. When user stakes FIO Tokens they "exchange" FIO Tokens for Staking Reward Points (SRPs) at then current Rate of Exchange (ROE). SRP is not an actual token and cannot be transferred. It simply acts as a representation of future staking rewards and is attached to the account which is staking. See [Staking FIO Tokens Guide](/docs/fio-token#staking-fio-tokens) for more information. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.staking** * name: **stakefio** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=stakefio.js) - [Unstake FIO Tokens](https://dev.fio.net/reference/unstake_fio_tokens.md): This action unstakes FIO Tokens. User can unstake any amount previously staked. When user unstakes FIO Tokens they "exchange" SRPs back into FIO Tokens at the current Rate of Exchange. Since the ROE is likely to be higher at time of unstake, they will end up with more FIO Tokens than originally staked. After FIO Tokens are unstaked, they remain locked for a period of 7 days. To check exactly when they become available call [/get_locks](/reference/get_locks). See [Staking FIO Tokens Guide](/docs/fio-token#staking-fio-tokens) for more information. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.staking** * name: **unstakefio** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=unstakefio.js) - [Wrap FIO Tokens](https://dev.fio.net/reference/wrap_fio_tokens.md): This action wraps FIO Tokens to another chain. Currently, only Ethereum chain is supported (chain_code: ETH). When FIO Tokens are wrapped, they are first sent to an escrow contract on the FIO Chain. Next, a set of oracles run by FIO Block Producers detect the wrapped tokens and mint the equivalent amount of WFIO to the supplied Ethereum public_address. See [Wrapped FIO Token Guide](/docs/wrapped-fio-token) for more information. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.oracle** * name: **wraptokens** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=wraptokens.js) - [Retire FIO Tokens](https://dev.fio.net/reference/retire_fio_tokens.md): This action burns FIO Tokens from account which executes this action. Once burned tokens are removed from circulation. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.token** * name: **retire** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=retire.js) - [Map NFTs](https://dev.fio.net/reference/add_nft.md): This call maps the supplied NFTs to the supplied FIO Handle, so that it can be returned using [/get_nfts_fio_address](/reference/get_nfts_fio_address).It will allow anyone to see which FIO Handle has mapped ("signed") a particular NFT. You may pass up to 3 public addresses in a single call. A maximum of 200 public addresses may be mapped to a FIO Handle. The `actor` must own the supplied FIO Handle. See [NFT Signatures Guide](/docs/nft-signatures) for more information. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **addnft** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=addnft.js) - [Remove NFTs](https://dev.fio.net/reference/remove_nft.md): This call removes the mapping of the supplied NFTs from the supplied FIO Handle, so that it will no longer be returned using [/get_nfts_fio_address](/reference/get_nfts_fio_address). The `actor` must own the supplied FIO Handle. See [NFT Signatures Guide](/docs/nft-signatures) for more information. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **remnft** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=remnft.js) - [Remove All NFTs](https://dev.fio.net/reference/remove_all_nfts.md): This call removes all NFTs mapped to the supplied FIO Handle. The `actor` must own the supplied FIO Handle. See [NFT Signatures Guide](/docs/nft-signatures) for more information. > 🚧 This action has to be serialized and signed! > > Please note that this action has to be be serialized and signed before it's sent to the blockchain. The request object below only represents the action specific parameters and action specific response. See [Write Transactions](/docs/write-transactions) Guide for more information. #### Actions parameters * account: **fio.address** * name: **remallnfts** #### SDK Sandbox Example [![Stackblitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/fioprotocol/fiosdk_typescript-sandbox?file=remallnfts.js) - [Signed and Packed Transaction](https://dev.fio.net/reference/push_transaction.md): > 🚧 This call must include serialized and signed transaction! > > Please note that this call must include serialized and signed transaction. See [Write Transaction](/docs/write-transactions) Guide for more information. - [Getting Started](https://dev.fio.net/reference/fio-app-api-spec.md) - [Buy FIO Handle or Domain](https://dev.fio.net/reference/buy-address-1.md): Creates a FIO Handle or Domain registration order and returns payment information. - [Renew FIO Handle or Domain](https://dev.fio.net/reference/renew-address-1.md): Renews FIO Handle or Domain registration order and returns payment information. - [Get Order Status](https://dev.fio.net/reference/summary-1.md): Returns status of order for provided FIO Public Key or Invoice ID. ## Recipes - [Adding permissions with linkauth](https://dev.fio.net/recipes/adding-permissions-with-linkauth.md) - [Fetch FIO Domain from FIO Chain State Table](https://dev.fio.net/recipes/fetch-fio-domain-from-fio-chain-state-table.md) - [Fetch FIO Handle from FIO Chain State Table](https://dev.fio.net/recipes/fetch-fio-handle-from-fio-chain-state-table.md) - [Generate Hash of FIO Handle or Domain](https://dev.fio.net/recipes/generate-hash-of-fio-handle-or-domain.md) - [get_table_rows paging](https://dev.fio.net/recipes/get_table_rows-paging.md) - [Send transaction using Full SDK](https://dev.fio.net/recipes/send-transaction-using-full-sdk.md) - [Send transaction using Lite SDK](https://dev.fio.net/recipes/send-transaction-using-lite-sdk.md) ## Changelog - [Support for contract address in FIO Request and FIO Data](https://dev.fio.net/changelog/support-for-contract-address-in-fio-request-and-fio-data.md) - [New FIO Chain version (2.11.2)](https://dev.fio.net/changelog/new-fio-chain-version-2112.md) - [New Lightweight FIO Typescript SDK](https://dev.fio.net/changelog/new-lightweight-fio-typescript-sdk.md) - [New FIO Chain version (2.11.1)](https://dev.fio.net/changelog/new-fio-chain-version-2111.md) - [New FIO Chain version (2.11)](https://dev.fio.net/changelog/new-fio-chain-version-211.md) - [New FIO App API](https://dev.fio.net/changelog/new-fio-app-api.md) - [FIO Chain Issue: Exception on some chain transactions](https://dev.fio.net/changelog/fio-chain-issue-exception-on-some-chain-transactions.md) - [FIO Chain Issue: Account Access](https://dev.fio.net/changelog/fio-chain-issue-account-access.md) - [New FIO Chain version (2.10)](https://dev.fio.net/changelog/new-fio-chain-version-210.md) - [FIO Handle Registration API Transition](https://dev.fio.net/changelog/fio-handle-registration-api.md)