Jun
JUL
Aug
05
2021
2022
2023
About this capture
Organization:
Archive Team
Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
History is littered with hundreds of conflicts over the future of a community, group, location or business that were "resolved" when one of the parties stepped ahead and destroyed what was there. With the original point of contention destroyed, the debates would fall to the wayside. Archive Team believes that by duplicated condemned data, the conversation and debate can continue, as well as the richness and insight gained by keeping the materials. Our projects have ranged in size from a single volunteer downloading the data to a small-but-critical site, to over 100 volunteers stepping forward to acquire terabytes of user-created data to save for future generations.
The main site for Archive Team is at archiveteam.org and contains up to the date information on various projects, manifestos, plans and walkthroughs.
This collection contains the output of many Archive Team projects, both ongoing and completed. Thanks to the generous providing of disk space by the Internet Archive, multi-terabyte datasets can be made available, as well as in use by the Wayback Machine , providing a path back to lost websites and work.
Our collection has grown to the point of having sub-collections for the type of data we acquire. If you are seeking to browse the contents of these collections, the Wayback Machine is the best first stop. Otherwise, you are free to dig into the stacks to see what you may find.
The Archive Team Panic Downloads are full pulldowns of currently extant websites, meant to serve as emergency backups for needed sites that are in danger of closing, or which will be missed dearly if suddenly lost due to hard drive crashes or server failures.
T h e W a y b a c k M a c h i n e - h t t p : / / w e b . a r c h i v e . o r g / w e b / 2 0 2 2 0 7 0 5 1 7 0 3 5 7 / h t t p s : / / b i t s o . c o m / a p i _ i n f o
T o g g l e n a v i g a t i o n
● D e v e l o p e r s
●
ES
● O p e n a c c o u n t
● L o g i n
N A V
S h e l l
N o d e J S
P y t h o n
R u b y
J a v a
P H P
● S i g n U p f o r a B i t s o D e v e l o p e r K e y
● D o c u m e n t a t i o n P o w e r e d b y S l a t e
I n t r o d u c t i o n
T h e B i t s o A P I a l l o w s y o u t o i n t e g r a t e t h e B i t s o t r a d i n g p l a t f o r m
w i t h t h i r d p a r t y a p p l i c a t i o n s , s u c h a s t r a d i n g a p p l i c a t i o n s , c h a r t i n g p r o g r a m s ,
p o i n t o f s a l e s y s t e m s , a n d m u c h m o r e . B e l o w y o u w i l l f i n d d e t a i l s o n h o w t h e
s y s t e m f u n c t i o n s , a l o n g w i t h e x a m p l e s i n c o m m o n p r o g r a m m i n g l a n g u a g e s .
C h a n g e l o g
2 0 2 2 - 0 3 - 1 0
A d d n e w e r r o r c o d e s ' 0 4 1 4 ' - ' 0 4 1 7 '
2 0 2 2 - 0 1 - 1 8
A d d n e w e r r o r c o d e s w h e n t r a d i n g o r c o n v e r s i o n s a r e d i s a b l e d o n y o u r a c c o u n t
2 0 2 1 - 1 1 - 2 4
D o c u m e n t a t i o n i n c o n s i s t e n c y b e t w e e n R E S T A p i s e r v i c e a n d i m p l e m e n t a t i o n w a s f i x e d :
● i n o p e n _ o r d e r s r e q u e s t p a r a m e t e r s a r e w r o n g , n o w r e q u e s t p a r a m e t e r s a r e ' b o o k ' a n d ' c u r r e n c y ' a s d e f i n e d i n t h e s e r v i c e i m p l e m e n t a t i o n
2 0 2 1 - 0 9 - 2 7
U p d a t e d G e n e r a l \ D e v e l o p e r T e s t i n g S e r v e r t o p o i n t t o t h e n e w l y
c o n f i g u r e d s a n d b o x e n v i r o n m e n t .
2 0 2 1 - 0 7 - 2 7
D o c u m e n t a t i o n i n c o n s i s t e n c y b e t w e e n R E S T A p i s e r v i c e a n d i m p l e m e n t a t i o n w a s f i x e d :
● i n o p e n _ o r d e r s a n d l o o k u p _ o r d e r s s e r v i c e s d o c u m e n t a t i o n , n o w ' s t a t u s ' u s e s ' p a r t i a l l y f i l l e d ' i n s t e a d o f ' p a r t i a l - f i l l ' a s a n o p t i o n .
2 0 2 1 - 0 7 - 1 9
D o c u m e n t a t i o n i n c o n s i s t e n c y b e t w e e n R E S T A p i s e r v i c e a n d i m p l e m e n t a t i o n w a s f i x e d :
● i n u s e r _ t r a d e s s e r v i c e d o c u m e n t a t i o n , n o w ' b o o k ' i s n o t r e q u i r e d .
2 0 2 1 - 0 6 - 2 5
T h e r e w a s a n i n c o n s i s t e n c y f o r D i f f - O r d e r s a n d f o r O r d e r s A P I . T h e " t " f i e l d w a s b e i n g d e s c r i b e d a s n u m b e r 0 f o r s e l l i n g
a n d 1 f o r b u y i n g , b u t t h e c o r r e c t i m p l e m e n t a t i o n i s t h e o p p o s i t e . T o m a k e t h e d o c u m e n t a t i o n c o n s i s t e n t w i t h i t s
i m p l e m e n t a t i o n , t h e f i e l d w a s u p d a t e d t o n u m b e r 0 f o r b u y i n g a n d n u m b e r 1 f o r s e l l i n g .
T h i s u p d a t e w a s f o r d o c u m e n t a t i o n o n l y , n o t h i n g c h a n g e s i n t h e c o n s u m e r s i d e .
2 0 2 1 - 0 6 - 2 4
F i x e d d o c u m e n t a t i o n i n c o n s i s t e n c y b e t w e e n R E S T A p i s e r v i c e a n d t h e i m p l e m e n t a t i o n :
● i n o r d e r _ t r a d e s s e r v i c e d o c u m e n t a t i o n t h e f i e l d ' m a k e _ s i d e ' h a v e c h a n g e d t o ' m a k e r _ s i d e '
● a l s o i n t h e s a m e s e r v i c e t h e ' c r e a t e d _ a t ' f i e l d f o r m a t h a v e b e e n u p g r a d e d f r o m 2 0 2 1 - 0 6 - 1 1 T 0 9 : 2 5 : 0 5 + 0 0 0 0 t o 2 0 2 1 - 0 6 - 1 1 T 0 9 : 2 5 : 0 5 . 0 0 0 + 0 0 : 0 0
2 0 2 0 - 0 8 - 2 1
D e l e t e d s o m e o l d A P I e r r o r s f r o m v 2 a n d m i g r a t i n g t o v 3 e r r o r s f o r s o m e c a s e s :
● 2 0 t o 0 3 0 1 : U n k n o w n O r d e r b o o k , i f b o o k i s n o t v a l i d
● 2 2 t o 0 4 0 8 : I n c o r r e c t a m o u n t v a l u e , i t m u s t b e a n o n - z e r o p o s i t i v e v a l u e .
● 0 4 1 0 i s d o c u m e n t e d n o w : T r a d i n g n o t e n a b l e d
● 0 4 1 1 i s d o c u m e n t e d n o w : T r a d i n g n o t e n a b l e d f o r m a r k e t o r d e r s
● 2 2 t o 0 3 0 2 : I n c o r r e c t t i m e f r a m e ( n o t ‘ h o u r ’ o r ' m i n u t e ’ ) , w h e n t h e t i m e _ i n _ f o r c e p a r a m e t e r i s n o t v a l i d
● 2 2 t o 0 4 0 7 : I n v a l i d p r e c i s i o n , w h e n p r i c e p a r a m e t e r i s n o t p r e s e n t
● 2 2 t o 0 4 0 7 : I n v a l i d p r e c i s i o n , w h e n t i c k _ s i z e i s n o t v a l i d
● 2 0 t o 0 2 0 1 : I n v a l i d N o n c e o r I n v a l i d C r e d e n t i a l s w h e n u s e d _ i d i s n ' t p r e s e n t
2 0 2 0 - 0 6 - 1 0
A d d t h e a b i l i t y t o q u e r y a w i t h d r a w a l b y i t s o r i g i n i d
● G E T / v 3 / w i t h d r a w a l s ? o r i g i n _ i d s = < o r i g i n _ i d > , < o r i g i n _ i d > , < o r i g i n _ i d >
2 0 2 0 - 0 6 - 0 9
D e p r e c a t e / v 3 / < a p i _ m e t h o d > / c l i e n t _ i d / < c l i e n t _ i d > .
● G E T / v 3 / o r d e r _ t r a d e s / c l i e n t _ i d / < c l i e n t _ i d >
● G E T / v 3 / o r d e r s / c l i e n t _ i d / < c l i e n t _ i d > - < c l i e n t _ i d > - < c l i e n t _ i d > /
● D E L E T E / v 3 / o r d e r s / c l i e n t _ i d / < c l i e n t _ i d > - < c l i e n t _ i d > - < c l i e n t _ i d > /
G e n e r a l
H T T P A P I R e s p o n s e s
O u r R E S T - l i k e A P I s w i l l a l w a y s r e t u r n a J S O N O b j e c t .
F o r s u c c e s s f u l A P I c a l l s , o u r J S O N r e s p o n s e o b j e c t s l o o k s l i k e :
{ " s u c c e s s " : t r u e ,
" p a y l o a d " : { R E L E V A N T _ D A T A _ H E R E }
}
F o r u n s u c c e s s f u l A P I c a l l s , o u r J S O N r e s p o n s e o b j e c t s l o o k l i k e :
{
" s u c c e s s " : f a l s e ,
" e r r o r " : { " m e s s a g e " : E R R O R _ M E S S A G E , " c o d e " : E R R O R _ C O D E }
}
D e v e l o p e r T e s t i n g S e r v e r
W h e n w o r k i n g o n i n t e g r a t i o n s , w e r e c o m m e n d t h a t y o u u s e o u r s a n d b o x s e r v e r
b e f o r e r u n n i n g y o u r c o d e a g a i n s t p r o d u c t i o n . T h e U R L f o r t h i s s e r v e r
i s h t t p s : / / a p i - s a n d b o x . b i t s o . c o m / v 3 /
Y o u c a n f u n d a c c o u n t s o n t h e d e v s e r v e r w i t h T e s t n e t B i t c o i n a n d
" R o p s t e n " t e s t n e t w o r k E t h .
N o t a t i o n s
M a j o r d e n o t e s t h e c r y p t o c u r r e n c y , i n o u r c a s e B i t c o i n ( B T C ) o r E t h e r ( E T H ) .
M i n o r d e n o t e s f i a t c u r r e n c i e s , i n o u r c a s e M e x i c a n P e s o ( M X N )
A n o r d e r b o o k i s a l w a y s r e f e r r e d t o i n t h e A P I a s " M a j o r _ M i n o r " . F o r e x a m p l e : " b t c _ m x n "
P r e c i s i o n
W e r e t u r n d e c i m a l n u m b e r s a s s t r i n g s t o p r e s e r v e f u l l p r e c i s i o n a c r o s s p l a t f o r m s . W e r e c o m m e n d y o u a l s o c o n v e r t y o u r n u m b e r s t o s t r i n g i n o r d e r t o a v o i d u n d e s i r e d c o n s e q u e n c e s f r o m p r e c i s i o n a n d t r u n c a t i o n e r r o r s .
R a t e L i m i t s
R a t e l i m i t s a r e b a s e d o n o n e m i n u t e w i n d o w s . F o r p u b l i c A P I r e q u e s t s , t h e l i m i t i s b y I P a d d r e s s a n d a l l o w s 6 0 r e q u e s t s p e r m i n u t e . F o r p r i v a t e A P I r e q u e s t s , t h e l i m i t i s b y u s e r a n d a l l o w s 3 0 0
r e q u e s t s p e r m i n u t e . I f y o u e x c e e d t h e s e l i m i t s , y o u w i l l g e t l o c k e d o u t f o r o n e m i n u t e . C o n t i n u o u s o n e m i n u t e l o c k o u t s m a y r e s u l t i n a 2 4 - h o u r b l o c k . O r d e r c a n c e l l a t i o n s a r e n ’ t s u b j e c t t o A P I r a t e l i m i t i n g .
E r r o r C o d e s
E r r o r c o d e s c o n s i s t o f f o u r d i g i t s , f i r s t t w o d i g i t s c o r r e s p o n d t o
e r r o r c a t e g o r i e s , t h e l a s t t w o d i g i t s d e f i n e s p e c i f i c e r r o r s .
U n k n o w n E r r o r s : 0 1 ( H T T P 5 0 0 )
● 0 1 0 1 : " U n k n o w n E r r o r "
● 0 1 0 2 : " I n v a l i d R i p p l e W i t h d r a w a l "
A u t h e n t i c a t i o n E r r o r s : 0 2 ( H T T P 4 0 1 )
● 0 2 0 1 : I n v a l i d N o n c e o r I n v a l i d C r e d e n t i a l s
● 0 2 0 2 : A P I k e y i s n o t a u t h o r i z e d t o e x e c u t e t h e r e q u e s t e d m e t h o d
● 0 2 0 3 : L o g i n t o k e n i s i n v a l i d o r e x p i r e d
● 0 2 0 4 : I n c o r r e c t P I N
● 0 2 0 5 : T o o m a n y l o g i n a t t e m p t s
● 0 2 0 6 : I n v a l i d n o n c e t y p e
● 0 2 0 7 : I n v a l i d n o n c e v a l u e
● 0 2 0 8 : A u t h e n t i c a t i o n i s r e q u i r e d t o e x e c u t e r e q u e s t e d o p e r a t i o n
● 0 2 0 9 : T w o F a c t o r a u t h e n t i c a t i o n r e q u i r e d
● 0 2 1 0 : D e v i c e a u t h e n t i c a t i o n r e q u i r e d
● 0 2 1 1 : D e v i c e a u t h e n t i c a t i o n f a i l e d ( I n v a l i d I P o r e x p i r e d T o k e n )
● 0 2 1 2 : A c c e s s D e n i e d - T h i s c o d e i s r e s e r v e d f o r i n t e r n a l u s e
● 0 2 1 3 : I P a d d r e s s i s n o t a l l o w e d t o a c c e s s t h i s r e s o u r c e
V a l i d a t i o n E r r o r s : 0 3 ( H T T P 4 0 0 )
● 0 3 0 1 : U n k n o w n O r d e r b o o k
● 0 3 0 2 : I n c o r r e c t t i m e f r a m e ( n o t ' h o u r ' o r ' m i n u t e ' )
● 0 3 0 3 : R e q u i r e d f i e l d m i s s i n g
● 0 3 0 4 : R e q u i r e d f i e l d n o t v a l i d ( e m a i l , p h o n e _ n u m b e r )
● 0 3 0 5 : I n v a l i d S M S c o d e ( w o u l d a l s o a p p l y t o c o r r e c t c o d e b u t n o t - c o r r e c t c l i e n t i d )
● 0 3 0 6 : O r d e r s i d e n o t i n ( b u y , s e l l )
● 0 3 0 7 : O r d e r t y p e n o t i n ( l i m i t , m a r k e t )
● 0 3 0 8 : O r d e r r e q u e s t c a n n o t i n c l u d e b o t h m i n o r a n d m a j o r
● 0 3 0 9 : O r d e r r e q u e s t m u s t i n c l u d e e i t h e r m i n o r o r m a j o r
● 0 3 1 0 : I n c o r r e c t W I D ( n o n - e x i s t e n t o r d o e s n o t b e l o n g t o u s e r )
● 0 3 1 1 : I n c o r r e c t F I D ( n o n - e x i s t e n t o r d o e s n o t b e l o n g t o u s e r )
● 0 3 1 2 : I n c o r r e c t O I D ( n o n - e x i s t e n t o r d o e s n o t b e l o n g t o u s e r )
● 0 3 1 3 : S e l e c t e d c u r r e n c y n o t i n ( m x n , b t c , e t h )
● 0 3 1 4 : A u t o - t r a d e n o t a v a i l a b l e f o r s e l e c t e d c u r r e n c i e s
● 0 3 1 5 : I n v a l i d a d d r e s s
● 0 3 1 6 : I n v a l i d R i p p l e c u r r e n c y
● 0 3 1 7 : I n v a l i d S P E I n u m b e r
● 0 3 1 8 : I n v a l i d S P E I n u m e r i c _ r e f
● 0 3 1 9 : I n v a l i d S P E I n o t e s _ r e f
● 0 3 2 0 : I n v a l i d p a g i n a t i o n p a r a m e t e r s
● 0 3 2 1 : I n c o r r e c t T I D ( n o n - e x i s t e n t )
● 0 3 2 2 : N o t a V a l i d U R L
● 0 3 2 3 : N o a s s o c i a t e d c o u n t r y c o d e
● 0 3 2 4 : N u m b e r a l r e a d y i n u s e
● 0 3 2 5 : P h o n e a l r e a d y v e r i f i e d
● 0 3 2 6 : A P I k e y i s n o t a c t i v e
● 0 3 2 7 : S e r v i c e u n a v a i l a b l e f o r r e q u e s t i n g l o c a t i o n
● 0 3 2 8 : S e r v i c e u n a v a i l a b l e f o r r e q u e s t i n g c o u n t r y
● 0 3 2 9 : M a r k e t o r d e r t y p e m u s t b e i n ( m a j , m i n )
● 0 3 3 0 : W i t h d r a w a l s l o c k e d f o r t h i s a c c o u n t
● 0 3 3 1 : I n v a l i d r e f e r r a l c o d e f o r B i t s o T r a n s f e r
● 0 3 3 2 : E m p t y P I N
● 0 3 3 3 : P I N l o c k e d . T o o m a n y a t t e m p t s
● 0 3 3 4 : B i t s o T r a n s f e r s n e e d e i t h e r a n e m a i l , p h o n e _ n u m b e r , o r r e f c o d e s p e c i f i e d
● 0 3 3 5 : I n v a l i d S P E I r e c i p i e n t n a m e
● 0 3 3 6 : N o d a t a f o u n d f o r K Y C ( C U R P - M e x i c o , C U I L - A r g e n t i n a , C P F - B r a z i l )
● 0 3 3 7 : N o K Y C f o u n d f o r d a t a ( C U R P - M e x i c o , C U I L - A r g e n t i n a , C P F - B r a z i l )
● 0 3 3 8 : M u l t i p l e K Y C s f o u n d f o r d a t a ( C U R P - M e x i c o , C U I L - A r g e n t i n a , C P F - B r a z i l )
● 0 3 3 9 : E m a i l i s a l r e a d y i n u s e
● 0 3 4 0 : N o t s u p p o r t e d c o u n t r y
● 0 3 4 1 : I n v a l i d p o s t a l c o d e
● 0 3 4 2 : I n v a l i d C V U
● 0 3 4 3 : I n c o r r e c t a m o u n t
● 0 3 4 4 : I n v a l i d B I N D r e c i p i e n t n a m e
● 0 3 4 5 : Q u o t e i s e x p i r e d o r i n v a l i d
● 0 3 4 6 : Y o u n e e d t o a g r e e t o t h e n e w t e r m s a n d c o n d i t i o n
● 0 3 4 7 : T o o m a n y a t t e m p t s t o v a l i d a t e K Y C ( C U R P - M e x i c o , C U I L - A r g e n t i n a , C P F - B r a z i l )
● 0 3 4 8 : K Y C d a t a d i d n o t m a t c h w i t h u s e r d a t a . ( C U R P - M e x i c o , C U I L - A r g e n t i n a , C P F - B r a z i l )
● 0 3 4 9 : A l r e a d y i n u s e
● 0 3 5 0 : C a n n o t d i s a b l e a c u r r e n c y w i t h p o s i t i v e b a l a n c e
● 0 3 5 1 : U n a b l e t o g e n e r a t e C V U f o r u s e r
● 0 3 5 2 : D i s p o s a b l e e m a i l n o t a l l o w e d
● 0 3 5 3 : C u r r e n t w i t h d r a w a l f e e i s h i g h e r t h a n s p e c i f i e d m a x i m u m
● 0 3 5 4 : N o d e f i n e d l e g a l o p e r a t i o n e n t i t y
● 0 3 5 5 : I n c o r r e c t h a s h ( n o n - e x i s t e n t o r d o e s n o t b e l o n g t o u s e r )
● 0 3 5 6 : D u p l i c a t e o r i g i n i d p r o v i d e d
● 0 3 5 7 : I n c o r r e c t o r i g i n i d ( n o n - e x i s t e n t o r d o e s n o t b e l o n g t o u s e r )
● 0 3 5 8 : T h e p a s s w o r d m u s t h a v e a t l e a s t 8 c h a r a c t e r s
● 0 3 5 9 : T h e p a s s w o r d i s t o o l o n g
● 0 3 6 0 : A t l e a s t o n e f i e l d i s r e q u i r e d b u t n o n e w a s s u b m i t t e d
● 0 3 6 1 : T w o o r m o r e f i e l d s w e r e s u b m i t t e d w h e n o n l y o n e i s r e q u i r e d
● 0 3 6 2 : I n v a l i d c a l l b a c k U R L
● 0 3 6 3 : I n v a l i d T r a n s a c t i o n I D ( E i t h e r n o n - e x i s t e n t o r d o e s n o t b e l o n g t o t h e u s e r )
● 0 3 6 4 : P a s s w o r d d o e s n ' t m e e t s e c u r i t y r e q u i r e m e n t s
● 0 3 6 5 : T w o f a c t o r a u t h e n t i c a t i o n m e t h o d i s a l r e a d y e n a b l e d
● 0 3 6 6 : T w o f a c t o r a u t h e n t i c a t i o n m e t h o d i s n o t e n a b l e d
● 0 3 6 7 : U n a b l e t o g e n e r a t e q u o t e a t t h e p r e s e n t t i m e
● 0 3 6 8 : R e j e c t e d w i t h d r a w a l t o r e s t r i c t e d a d d r e s s
● 0 3 6 9 : I n c o r r e c t d e v i c e i d
● 0 3 7 0 : F i l e t y p e n o t a l l o w e d
● 0 3 7 1 : F i l e s i z e l i m i t e x c e e d e d
● 0 3 7 2 : I n c o r r e c t v a l u e t y p e f o r f i e l d
● 0 3 7 3 : R e q u e s t h a s e x p i r e d
● 0 3 7 4 : I n v a l i d 2 F A r e c o v e r y c o d e
● 0 3 7 5 : R e s e r v e d f o r i n t e r n a l u s e
● 0 3 7 6 : L i m i t o f B i t s o T r a n s f e r r e a c h e d
S y s t e m L i m i t E r r o r s : 0 4 ( H T T P 4 0 0 )
● 0 4 0 1 : I n c o r r e c t p r i c e , b e l o w t h e m i n i m u m
● 0 4 0 2 : I n c o r r e c t p r i c e , a b o v e t h a n m a x i m u m
● 0 4 0 3 : I n c o r r e c t m a j o r , b e l o w t h e m i n i m u m
● 0 4 0 4 : I n c o r r e c t m a j o r , a b o v e t h e m a x i m u m
● 0 4 0 5 : I n c o r r e c t m i n o r , b e l o w t h e m i n i m u m
● 0 4 0 6 : I n c o r r e c t m i n o r , a b o v e t h e m a x i m u m
● 0 4 0 7 : I n v a l i d p r e c i s i o n
● 0 4 0 8 : I n c o r r e c t a m o u n t v a l u e , i t m u s t b e a n o n - z e r o p o s i t i v e v a l u e .
● 0 4 1 0 : T r a d i n g n o t e n a b l e d
● 0 4 1 1 : T r a d i n g n o t e n a b l e d f o r m a r k e t o r d e r s
● 0 4 1 2 : I n c o r r e c t s t o p , b e l o w t h e m i n i m u m
● 0 4 1 3 : I n c o r r e c t s t o p , a b o v e t h e m a x i m u m
● 0 4 1 4 : I n t e r n a l u s e
● 0 4 1 5 : I n t e r n a l u s e
● 0 4 1 6 : I n t e r n a l u s e
● 0 4 1 7 : I n t e r n a l u s e
U s e r L i m i t E r r o r : 0 5 ( H T T P 4 0 0 )
● 0 5 0 1 : E x c e e d s u s e r l i m i t f o r w i t h d r a w a l s
● 0 5 0 2 : E x c e e d s u s e r l i m i t f o r d e p o s i t s
● 0 5 0 3 : E x c e e d s d e s t i n a t i o n u s e r l i m i t f o r d e p o s i t s
● 0 5 0 4 : E x c e e d s c a s h o u t w i t h d r a w a l l i m i t f o r p h o n e n u m b e r
● 0 5 0 5 : E x c e e d s u s e r p e r s o n a l l i m i t s f o r m x n w i t h d r a w a l s o v e r t h e s p e i n e t w o r k
F u n d s E r r o r : 0 6 ( H T T P 4 0 0 )
● 0 6 0 1 : N o t e n o u g h b t c f u n d s
● 0 6 0 2 : N o t e n o u g h m x n f u n d s
● 0 7 0 1 : A c t i o n n o t p e r m i t t e d f o r u n v e r i f i e d a c c o u n t
● 0 7 0 2 : A c t i o n n o t p e r m i t t e d f o r u n v e r i f i e d b u s i n e s s a c c o u n t
● 0 7 0 3 : F o r y o u r p r o t e c t i o n , y o u r w i t h d r a w a l a b i l i t y h a s b e e n s u s p e n d e d
● 0 7 0 4 : A s p e c i f i c f e a t u r e i s d i s a b l e d a s t h e u s e r h a s d e c i d e d t o o p t - o u t
● 0 7 0 5 : Y o u r a c c o u n t i s c u r r e n t l y s u s p e n d e d
● 0 7 0 6 : Y o u m u s t a c c e p t t h e T e r m s o f s e r v i c e
● 0 7 0 7 : 2 F A L o c k e d
● 0 7 0 8 : M a x a t t e m p t s r e a c h e d t o p e r f o r m o p e r a t i o n
● 0 7 0 9 : A c t i o n n o t p e r m i t t e d f o r m i s s i n g K Y C d a t a
● 0 7 1 0 : P a s s w o r d m u s t b e u p d a t e d
● 0 7 1 1 : V e r i f i c a t i o n c o m p l e t e d . N o m i s s i n g r e q u i r e m e n t s t o f i l l
● 0 7 1 2 : E r r o r s a v i n g u s e r b e n e f i c i a r y
● 0 7 1 3 : E r r o r f e t c h i n g u s e r b e n e f i c i a r i e s
● 0 7 1 4 : I n v a l i d d a t a f o r u s e r b e n e f i c i a r y
● 0 7 1 5 : E r r o r s a v i n g u s e r s b u s i n e s s p e r s o n ( s )
● 0 7 1 6 : E r r o r f e t c h i n g u s e r s b u s i n e s s p e r s o n ( s )
● 0 7 1 7 : I n c o r r e c t v a l u e f o r u s e r s b u s i n e s s p e r s o n s ( s ) t y p e s
● 0 7 1 8 : U s e r b u s i n e s s p e r s o n d o e s n ' t b e l o n g s t o t h e u s e r
● 0 7 1 9 : U s e r ' s P G P k e y n o t f o u n d
● 0 7 2 0 : T h e m a x i m u m n u m b e r o f p a i r e d d e v i c e s h a s b e e n r e a c h e d
● 0 7 2 1 : E r r o r w h e n p e r f o r m i n g a s e c u r i t y a c t i o n ( i . e . b l o c k w i t h d r a w a l s )
● 0 7 2 2 : E r r o r d e l e t i n g u s e r b e n e f i c i a r y
● 0 7 2 3 : A c t i o n r e s t r i c t e d b y c o u n t r y r e g u l a t i o n
● 0 7 2 4 : N o f u n d i n g m e t h o d s a v a i l a b l e
● 0 7 2 5 : N o w i t h d r a w a l m e t h o d s a v a i l a b l e
● 0 7 2 6 : A c t i o n r e s t r i c t e d f o r b u s i n e s s a c c o u n t s
T h r o t t l i n g E r r o r s : 0 8 ( H T T P 4 2 0 )
● 0 8 0 1 : Y o u h a v e h i t t h e r e q u e s t r a t e - l i m i t
● 0 8 0 2 : T o o m a n y a t t e m p t s t o p e r f o r m a n o p e r a t i o n
U n s u p p o r t e d H T T P m e t h o d : ( 4 0 0 e r r o r )
● 0 9 0 1 : U n s u p p o r t e d H T T P m e t h o d
M i s c e l l a n e o u s E r r o r s : 1 0 ( 4 0 0 e r r o r )
● 1 0 0 0 : A P I t e m p o r a r i l y d i s a b l e d ( M o r e i n f o i n e r r o r m e s s a g e )
● 1 0 0 1 : T o o m a n y o p e n o r d e r s
● 1 0 0 2 : U n a b l e t o p r o c e s s o r d e r
● 1 0 0 3 : O p e r a t i o n t i m e o u t
● 1 0 0 4 : D e p r e c a t e d f u n c t i o n a l i t y
● 1 0 0 5 : I n v a l i d o p e r a t i o n
● 1 0 0 6 : N o c o n t e n t f o r g i v e n m o b i l e c l i e n t n a m e ( 2 0 4 c o d e )
● 1 0 0 7 : I n t e r n a l u s e
● 1 0 0 8 : T r a d i n g d i s a b l e d
● 1 0 0 9 : C o n v e r s i o n s d i s a b l e d
O p e r a t i o n E r r o r s : 1 1 ( 5 0 0 e r r o r )
● 1 1 0 1 : E r r o r w h e n p r o c e s s i n g t h e w i t h d r a w a l
● 1 1 0 2 : E r r o r r e g i s t e r i n g c a l l b a c k U R L
● 1 1 0 3 : S y s t e m - w i d e m e t h o d d i s a b l e d
● 1 1 0 4 : M u l t i p l e a c c o u n t s a r e a s s o c i a t e d w i t h a d e v i c e
● 1 1 0 5 : A c c o u n t c r e a t i o n l i m i t h a s b e e n r e a c h e d o n a d e v i c e .
● 1 2 0 1 : T h e n u m b e r p r o v i d e d i s n o t a m o b i l e n u m b e r
● 1 2 0 2 : W e c a n n o t s e n d a n S M S t o t h e n u m b e r p r o v i d e d ( o u t o f j u r i s d i c t i o n )
● 1 2 9 9 : U n e x p e c t e d e r r o r w h e n t r y i n g t o s e n d S M S
● 1 4 0 1 : R e q u e s t e d r e s o u r c e w i t h t h i s i d w a s n o t f o u n d
C l i e n t L i b r a r i e s
T h e f o l l o w i n g c l i e n t l i b r a r i e s w i l l a l l o w y o u t o i n t e g r a t e q u i c k l y w i t h o u r A P I s
● J a v a
● P y t h o n
L a n g u a g e d e t e c t i o n
T h e i n i t i a l p h a s e o f t h e d e t e c t i o n i f y o u a r e u s i n g A P I k e y s i s t h e l a n g u a g e y o u h a v e o n y o u r s e t t i n g s . ( T h i s d e f a u l t s d e p e n d i n g o n y o u r c o u n t r y o f r e s i d e n c e t h e m o m e n t y o u s i g n u p )
T o f o r c e t h i s t o a s p e c i f i c l a n g u a g e w e t h e n u s e A c c e p t - L a n g u a g e h e a d e r o n t h e r e q u e s t t o o v e r r i d e t h i s s e t t i n g .
I f n o n e o f t h e s e s e t t i n g s a r e s e t t h e d e f a u l t i s en .
P u b l i c R E S T A P I
A v a i l a b l e B o o k s
curl "https://api.bitso.com/v3/available_books/"
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : [{
"book" : "btc_mxn" ,
"minimum_amount" : ".003" ,
"maximum_amount" : "1000.00" ,
"minimum_price" : "100.00" ,
"maximum_price" : "1000000.00" ,
"minimum_value" : "25.00" ,
"maximum_value" : "1000000.00"
}, {
"book" : "eth_mxn" ,
"minimum_amount" : ".003" ,
"maximum_amount" : "1000.00" ,
"minimum_price" : "100.0" ,
"maximum_price" : "1000000.0" ,
"minimum_value" : "25.0" ,
"maximum_value" : "1000000.0"
}]
}
T h i s e n d p o i n t r e t u r n s a l i s t o f e x i s t i n g e x c h a n g e o r d e r b o o k s a n d
t h e i r r e s p e c t i v e o r d e r p l a c e m e n t l i m i t s .
H T T P R e q u e s t
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / a v a i l a b l e _ b o o k s /
J S O N R e s p o n s e P a y l o a d
Field Name
Type
Description
Units
book
String
Order book symbol
Major_Minor
minimum_amount
String
Minimum amount of major when placing orders
Major
maximum_amount
String
Maximum amount of major when placing orders
Major
minimum_price
String
Minimum price when placing orders
Minor
maximum_price
String
Maximum price when placing orders
Minor
minimum_value
String
Minimum value amount (amount*price) when placing orders
Minor
maximum_value
String
Maximum value amount (amount*price) when placing orders
Minor
T i c k e r
curl "https://api.bitso.com/v3/ticker/?book=btc_mxn"
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : {
"book" : "btc_mxn" ,
"volume" : "22.31349615" ,
"high" : "5750.00" ,
"last" : "5633.98" ,
"low" : "5450.00" ,
"vwap" : "5393.45" ,
"ask" : "5632.24" ,
"bid" : "5520.01" ,
"created_at" : "2016-04-08T17:52:31.000+00:00"
}
}
T h i s e n d p o i n t r e t u r n s t r a d i n g i n f o r m a t i o n f r o m t h e s p e c i f i e d b o o k .
H T T P R e q u e s t
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / t i c k e r /
Q u e r y P a r a m e t e r s
Parameter
Default
Required
Description
book
YES
Specifies which book to use
J S O N R e s p o n s e P a y l o a d
Field Name
Type
Description
Units
book
String
Order book symbol
Major_Minor
volume
String
Last 24 hours volume
Major
high
String
Last 24 hours price high
Minor/Major
last
String
Last traded price
Minor/Major
low
String
Last 24 hours price low
Minor/Major
vwap
String
Last 24 hours volume weighted average price: vwap
Minor/Major
ask
String
Lowest sell order
Minor/Major
bid
String
Highest buy order
Minor/Major
created_at
String
Timestamp at which the ticker was generated
ISO 8601 timestamp
O r d e r B o o k
curl "https://api.bitso.com/v3/order_book/?book=btc_mxn"
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : {
"asks" : [{
"book" : "btc_mxn" ,
"price" : "5632.24" ,
"amount" : "1.34491802"
},{
"book" : "btc_mxn" ,
"price" : "5633.44" ,
"amount" : "0.4259"
},{
"book" : "btc_mxn" ,
"price" : "5642.14" ,
"amount" : "1.21642"
}],
"bids" : [{
"book" : "btc_mxn" ,
"price" : "6123.55" ,
"amount" : "1.12560000"
},{
"book" : "btc_mxn" ,
"price" : "6121.55" ,
"amount" : "2.23976"
}],
"updated_at" : "2016-04-08T17:52:31.000+00:00" ,
"sequence" : "27214"
}
}
curl "https://api.bitso.com/v3/order_book/?book=btc_mxn&aggregate=false"
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : {
"asks" : [{
"book" : "btc_mxn" ,
"price" : "5632.24" ,
"amount" : "1.34491802" ,
"oid" : "VN5lVpgXf02o6vJ6"
},{
"book" : "btc_mxn" ,
"price" : "5633.44" ,
"amount" : "0.4259" ,
"oid" : "RP8lVpgXf04o6vJ6"
},{
"book" : "btc_mxn" ,
"price" : "5642.14" ,
"amount" : "1.21642" ,
"oid" : "46efbiv72drbphig"
}],
"bids" : [{
"book" : "btc_mxn" ,
"price" : "6123.55" ,
"amount" : "1.12560000" ,
"oid" : "11brtiv72drbphig"
},{
"book" : "btc_mxn" ,
"price" : "6121.55" ,
"amount" : "2.23976" ,
"oid" : "1ywri0yg8miihs80"
}],
"updated_at" : "2016-04-08T17:52:31.000+00:00" ,
"sequence" : "27214"
}
}
T h i s e n d p o i n t r e t u r n s a l i s t o f a l l o p e n o r d e r s i n t h e s p e c i f i e d
b o o k . I f t h e a g g r e g a t e p a r a m e t e r i s s e t t o t r u e , o r d e r s w i l l b e
a g g r e g a t e d b y p r i c e , a n d t h e r e s p o n s e w i l l o n l y i n c l u d e t h e t o p 5 0
o r d e r s f o r e a c h s i d e o f t h e b o o k . I f t h e a g g r e g a t e p a r a m e t e r i s s e t
t o f a l s e , t h e r e s p o n s e w i l l i n c l u d e t h e f u l l o r d e r b o o k .
H T T P R e q u e s t
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / o r d e r _ b o o k /
Q u e r y P a r a m e t e r s
Parameter
Default
Required
Description
book
YES
Specifies which book to use
aggregate
true
NO
Specifies if orders should be aggregated by price.
J S O N R e s p o n s e P a y l o a d
R e t u r n s J S O N o b j e c t w i t h " b i d s " a n d " a s k s " . E a c h i s a J S O N A r r a y
o f o p e n o r d e r s a n d e a c h o p e n o r d e r i s r e p r e s e n t e d a s a J S O N o b j e c t
Field Name
Type
Description
asks
JSON Array
List of open asks
bids
JSON Array
List of open bids
updated_at
String
Timestamp at which the order was last updated
sequence
Long
Increasing integer value for each order book update.
A s k s a n d B i d s i n t h e a g g r e g a t e d o r d e r b o o k s a r e J S O N D i c t i o n a r i e s w i t h t h e f o l l o w i n g f i e l d s :
Field Name
Type
Description
Units
book
String
Order book symbol
Major_Minor
price
String
Price per unit of major
Minor
amount
String
Major amount in order
Major
A s k s a n d B i d s i n t h e u n a g g r e g a t e d ( f u l l ) o r d e r b o o k s a r e J S O N D i c t i o n a r i e s w i t h t h e f o l l o w i n g f i e l d s :
Field Name
Type
Description
Units
book
String
Order book symbol
Major_Minor
price
String
Price per unit of major
Minor
amount
String
Major amount in order
Major
oid
String
Order ID
T r a d e s
curl "https://api.bitso.com/v3/trades/?book=btc_mxn"
T h e J S O N A r r a y r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : [{
"book" : "btc_mxn" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"amount" : "0.02000000" ,
"maker_side" : "buy" ,
"price" : "5545.01" ,
"tid" : 55845
}, {
"book" : "btc_mxn" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"amount" : "0.33723939" ,
"maker_side" : "sell" ,
"price" : "5633.98" ,
"tid" : 55844
}]
}
T h i s e n d p o i n t r e t u r n s a l i s t o f r e c e n t t r a d e s f r o m t h e s p e c i f i e d b o o k .
H T T P R e q u e s t
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / t r a d e s /
Q u e r y P a r a m e t e r s
Parameter
Default
Required
Description
book
Yes
Specifies which book to use
marker
No
Returns objects that are older or newer (depending on 'sort') than the object with this ID
sort
desc
No
Specifies ordering direction of returned objects ('asc', 'desc')
limit
25
No
Specifies number of objects to return. (Max is 100)
J S O N R e s p o n s e P a y l o a d
R e t u r n s d e s c e n d i n g J S O N A r r a y o f t r a n s a c t i o n s . E v e r y e l e m e n t i n t h e a r r a y i s a J S O N o b j e c t :
Field Name
Type
Description
Units
book
String
Order book symbol
Major_Minor
created_at
String
Timestamp at which the trade was executed
ISO 8601 timestamp
amount
String
Major amount transacted
Major
maker_side
String
Indicates the maker order side (maker order is the order that was open on the order book)
price
String
Price per unit of major
Minor
tid
Long
Trade ID
P r i v a t e R E S T A P I
T h e P r i v a t e R E S T A P I i s u s e d t o m a n a g e y o u r a c c o u n t a n d y o u r o r d e r s . T h e s e r e q u e s t s m u s t b e s i g n e d ( m o r e o n t h i s b e l o w ) .
P r i v a t e e n d p o i n t s r e q u i r e A P I K e y s . M a k e s u r e y o u r e a d m o r e a b o u t o b t a i n i n g y o u r p r i v a t e k e y s h e r e
G e n e r a t i n g A P I K e y s
B i t s o u s e s A P I K e y s t o a l l o w a c c e s s t o t h e A P I .
Y o u c a n r e g i s t e r a n e w B i t s o A P I k e y a t o u r d e v e l o p e r p o r t a l .
W h e n s e t t i n g u p a n e w A P I , y o u w i l l n e e d t o c h o o s e a n A P I N a m e t o i d e n t i f y y o u r A P I .
T h i s n a m e w i l l n e v e r b e s h o w n a n y w h e r e a p a r t f r o m o n y o u r A P I I n d e x p a g e w i t h i n y o u r a c c o u n t .
Y o u h a v e t h e o p t i o n o f a d d i n g a W i t h d r a w a l B i t c o i n A d d r e s s , w h i c h c a n b e u s e d t o l o c k t h e A P I W i t h d r a w a l f u n c t i o n t o a s p e c i f i c B i t c o i n a d d r e s s o f y o u r c h o o s i n g . T h i s f i e l d i s o p t i o n a l .
T h e t w o e l e m e n t s y o u w i l l n e e d t o s i g n r e q u e s t s a r e :
● B i t s o A P I K e y
● B i t s o A P I S e c r e t
C r e a t i n g a n d S i g n i n g R e q u e s t s
#!/bin/bash
# requires:
# -httpie: https://github.com/jkbrzt/httpie
URL = https://api.bitso.com/v3/balance/
API_KEY = "BITSO_KEY"
API_SECRET = "BITSO_SECRET"
DNONCE = $( date +%s)
HTTPmethod = GET
JSONPayload = ""
RequestPath = "/v3/balance/"
SIGNATURE = $( echo -n $DNONCE$HTTPmethod$RequestPath$JSONPayload | openssl dgst -binary -sha256 -hmac $API_SECRET | xxd -p -c 256 )
AUTH_HEADER = "Bitso $API_KEY : $DNONCE : $SIGNATURE "
http GET $URL Authorization:" $AUTH_HEADER "
// Define your request
var key = " BITSO API KEY " ;
var secret = " BITSO API SECRET " ;
var http_method = " GET " ; // Change to POST if endpoint requires data
var request_path = " /v3/balance/ "
var json_payload = {}; // Needed for POST endpoints requiring data
// Create the signature
var nonce = new Date (). getTime ();
var message = nonce + http_method + request_path ;
var payload = JSON . stringify ( json_payload )
if ( http_method == " POST " )
message += payload ;
var crypto = require ( ' crypto ' );
var signature = crypto . createHmac ( ' sha256 ' , secret ). update ( message ). digest ( ' hex ' );
// Build the auth header
var auth_header = " Bitso " + key + " : " + nonce + " : " + signature ;
// Send request
var options = {
host : ' api.bitso.com ' ,
path : request_path ,
method : http_method ,
headers : {
' Authorization ' : auth_header ,
' Content-Type ' : ' application/json '
}
};
// Send request
var http = require ( ' https ' );
var req = http . request ( options , function ( res ) {
console . log ( `statusCode: ${ res . statusCode } ` );
console . log ( `statusMessage: ${ res . statusMessage } ` );
res . on ( ' data ' , function ( chunk ) {
console . log ( `body: ${ chunk } ` );
});
});
req . on ( ' error ' , ( error ) => {
console . error ( error )
})
if ( http_method == " POST " ) {
req . write ( payload );
}
req . end ();
#!/usr/bin/python
import time
import hmac
import hashlib
import requests
import json
bitso_key = "BITSO_KEY"
bitso_secret = "BITSO_SECRET"
http_method = "GET" # Change to POST if endpoint requires data
request_path = "/v3/balance/"
parameters = {} # Needed for POST endpoints requiring data
# Create signature
nonce = str ( int ( round ( time . time () * 1000 )))
message = nonce + http_method + request_path
if ( http_method == "POST" ):
message += json . dumps ( parameters )
signature = hmac . new ( bitso_secret . encode ( 'utf-8' ),
message . encode ( 'utf-8' ),
hashlib . sha256 ). hexdigest ()
# Build the auth header
auth_header = 'Bitso %s:%s:%s' % ( bitso_key , nonce , signature )
# Send request
if ( http_method == "GET" ):
response = requests . get ( "https://api.bitso.com" + request_path , headers = { "Authorization" : auth_header })
elif ( http_method == "POST" ):
response = requests . post ( "https://api.bitso.com" + request_path , json = parameters , headers = { "Authorization" : auth_header })
print response . content
#!/usr/bin/ruby
require 'date'
require 'json'
require 'openssl'
require 'typhoeus'
bitso_key = "API_KEY"
bitso_secret = "API_SECRET"
nonce = DateTime . now . strftime ( '%Q' )
http_method = "POST"
request_path = "/v3/orders/"
payload_data = { "book" => "btc_mxn" ,
"side" => "buy" ,
"major" => ".01" ,
"price" => "1000" ,
"type" => "limit" }
json_payload = payload_data . to_json
# Create signature
message = nonce + http_method + request_path + json_payload
signature = OpenSSL :: HMAC . hexdigest ( OpenSSL :: Digest . new ( 'sha256' ), bitso_secret , message )
# Build the auth header
auth_header = "Bitso #{ bitso_key } : #{ nonce } : #{ signature } "
# Send request
response = Typhoeus :: Request . new (
"https://api.bitso.com/v3/orders/" ,
method: "POST" ,
body: json_payload ,
headers: { "Authorization" => auth_header ,
"Content-Type" => "application/json" }
). run
puts response . body
import java.io.BufferedReader ;
import java.io.InputStreamReader ;
import java.math.BigInteger ;
import java.net.URL ;
import javax.crypto.Mac ;
import javax.crypto.spec.SecretKeySpec ;
import java.net.HttpURLConnection ;
public class BitsoJavaExample {
public static void main ( String [] args ) throws Exception {
String bitsoKey = "BITSO API KEY" ;
String bitsoSecret = "BITSO API SECRET" ;
long nonce = System . currentTimeMillis ();
String HTTPMethod = "GET" ;
String RequestPath = "/v3/balance/" ;
String JSONPayload = "" ;
// Create the signature
String message = nonce + HTTPMethod + RequestPath + JSONPayload ;
String signature = "" ;
byte [] secretBytes = bitsoSecret . getBytes ();
SecretKeySpec localMac = new SecretKeySpec ( secretBytes , "HmacSHA256" );
Mac mac = Mac . getInstance ( "HmacSHA256" );
mac . init ( localMac );
byte [] arrayOfByte = mac . doFinal ( message . getBytes ());
BigInteger localBigInteger = new BigInteger ( 1 , arrayOfByte );
signature = String . format ( "%0" + ( arrayOfByte . length << 1 ) + "x" , new Object [] { localBigInteger });
String authHeader = String . format ( "Bitso %s:%s:%s" , bitsoKey , nonce , signature );
String url = "https://api.bitso.com/v3/balance/" ;
URL obj = new URL ( url );
HttpURLConnection con = ( HttpURLConnection ) obj . openConnection ();
con . setRequestProperty ( "User-Agent" , "Bitso Java Example" );
con . setRequestMethod ( "GET" );
con . setRequestProperty ( "Authorization" , authHeader );
// Send request
int responseCode = con . getResponseCode ();
System . out . println ( "\nSending 'GET' request to URL : " + url );
System . out . println ( "Response Code : " + responseCode );
BufferedReader in = new BufferedReader ( new InputStreamReader ( con . getInputStream ()));
String inputLine ;
StringBuffer response = new StringBuffer ();
while (( inputLine = in . readLine ()) != null ) {
response . append ( inputLine );
}
in . close ();
System . out . println ( response . toString ());
}
}
<?php
$bitsoKey = "API_KEY" ;
$bitsoSecret = "API_SECRET"
$nonce = round ( microtime ( true ) * 1000 );
$HTTPMethod = "POST" ;
$RequestPath = "/v3/orders/" ;
$JSONPayload = json_encode ([ 'book' => 'btc_mxn' ,
'side' => 'buy' ,
'major' => '.01' ,
'price' => '1000' ,
'type' => 'limit' ]);
// Create signature
$message = $nonce . $HTTPMethod . $RequestPath . $JSONPayload ;
$signature = hash_hmac ( 'sha256' , $message , $bitsoSecret );
// Build the auth header
$format = 'Bitso %s:%s:%s' ;
$authHeader = sprintf ( $format , $bitsoKey , $nonce , $signature );
// Send request
$ch = curl_init ();
curl_setopt ( $ch , CURLOPT_URL , 'https://api.bitso.com/v3/orders/' );
curl_setopt ( $ch , CURLOPT_CUSTOMREQUEST , "POST" );
curl_setopt ( $ch , CURLOPT_POSTFIELDS , $JSONPayload );
curl_setopt ( $ch , CURLOPT_HTTPHEADER , array (
'Authorization: ' . $authHeader ,
'Content-Type: application/json' ));
$result = curl_exec ( $ch );
echo $result ;
?>
A l l R E S T r e q u e s t s s h o u l d b e v a l i d J S O N . Y o u m u s t i n c l u d e 3 f i e l d s a s a
p a y l o a d i n t h e " A u t h o r i z a t i o n " h e a d e r f o r a l l P r i v a t e A P I E n d p o i n t s i n o r d e r t o p e r f o r m a u t h e n t i c a t i o n :
● k e y – T h e A P I K e y y o u g e n e r a t e d
● n o n c e – A n i n t e g e r t h a t m u s t b e u n i q u e a n d i n c r e a s i n g f o r e a c h A P I c a l l ( w e r e c o m m e n d u s i n g a U N I X t i m e s t a m p )
● s i g n a t u r e – S e e b e l o w
S i g n a t u r e
T h e s i g n a t u r e i s g e n e r a t e d b y c r e a t i n g a S H A 2 5 6 H M A C u s i n g t h e B i t s o A P I S e c r e t o n t h e c o n c a t e n a t i o n o f n o n c e + H T T P m e t h o d + r e q u e s t P a t h + J S O N p a y l o a d ( n o ’ + ’ s i g n s i n t h e c o n c a t e n a t e d s t r i n g ) a n d h e x e n c o d e t h e o u t p u t . T h e n o n c e v a l u e s h o u l d b e t h e s a m e a s t h e n o n c e f i e l d i n t h e A u t h o r i z a t i o n h e a d e r . T h e r e q u e s t P a t h a n d J S O N p a y l o a d m u s t , o f c o u r s e , b e e x a c t l y a s t h e o n e s u s e d i n t h e r e q u e s t .
T h e h e a d e r s h o u l d b e c o n s t r u c t e d , u s i n g t h e f i e l d s d e s c r i b e d a b o v e , i n
t h e f o l l o w i n g f o r m :
A u t h o r i z a t i o n : B i t s o < k e y > : < n o n c e > : < s i g n a t u r e >
A c c o u n t S t a t u s
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : {
"client_id" : "1234" ,
"first_name" : "Claude" ,
"last_name" : "Shannon" ,
"status" : "active" ,
"daily_limit" : "5300.00" ,
"monthly_limit" : "32000.00" ,
"daily_remaining" : "3300.00" ,
"monthly_remaining" : "31000.00" ,
"cash_deposit_allowance" : "5300.00" ,
"cellphone_number" : "verified" ,
"cellphone_number_stored" : "+525555555555" ,
"email_stored" : "[email protected] " ,
"official_id" : "submitted" ,
"proof_of_residency" : "submitted" ,
"signed_contract" : "unsubmitted" ,
"origin_of_funds" : "unsubmitted"
}
}
T h i s e n d p o i n t r e t u r n s i n f o r m a t i o n c o n c e r n i n g t h e u s e r ' s a c c o u n t
s t a t u s , d o c u m e n t s u p l o a d e d , a n d t r a n s a c t i o n l i m i t s .
H T T P R e q u e s t
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / a c c o u n t _ s t a t u s /
J S O N R e s p o n s e P a y l o a d
R e t u r n s a J S O N A r r a y . E v e r y e l e m e n t i n t h e a r r a y i s a J S O N o b j e c t w i t h t h e f o l l o w i n g f i e l d s .
Field Name
Type
Description
Units
client_id
String
The user's Client ID
first_name
String
The user's first name
last_name
String
The user's last name
status
String
Total balance
Enum of (active, inactive)
daily_limit
String
The user's total daily limit
MXN
daily_remaining
String
Remaining amount of user's total daily limit
MXN
monthly_limit
String
The user's total monthly limit
MXN
monthly_remaining
String
Remaining amount of user's total monthly limit
MXN
cash_deposit_allowance
String
Remaining cash allowance today
MXN
cellphone_number
String
Status of user's registered cellphone number
Enum of (unsubmitted, submitted, verified)
cellphone_number_stored
String
user's registered cellphone number
email_stored
String
user's registered email
official_id
String
Status of user's official ID document
Enum of (unsubmitted, submitted, verified, rejected)
proof_of_residency
String
Status of user's 'proof of residency' document
Enum of (unsubmitted, submitted, verified, rejected)
signed_contract
String
Status of user's 'signed contract' document
Enum of (unsubmitted, submitted, verified, rejected)
origin_of_funds
String
Status of user's 'origin of funds' document
Enum of (unsubmitted, submitted, verified, rejected)
D o c u m e n t U p l o a d
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true
}
T h i s e n d p o i n t i s u s e d t o u p l o a d K Y C d o c u m e n t s f o r v e r i f i c a t i o n . [ C o m i n g S o o n ]
H T T P R e q u e s t
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / k y c _ d o c u m e n t s /
B o d y P a r a m e t e r s
B o d y p a r a m e t e r s s h o u l d b e J S O N e n c o d e d a n d s h o u l d b e e x a c t l y t h e s a m e
a s t h e J S O N p a y l o a d u s e d t o c o n s t r u c t t h e s i g n a t u r e .
Parameter
Default
Required
Description
document_type
-
Yes
Specifies what document you are uploading. Enum of (official_id, proof_of_residency, signed_contract, origin_of_fund)
filetype
-
Yes
Specifies filetype for this upload. Enum of (jpg, png)
file
-
Yes
Base64 encoded binary file. Max size is 7.5MB
M o b i l e P h o n e N u m b e r R e g i s t r a t i o n
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : {
"phone" : "5552525252"
}
}
T h i s e n d p o i n t i s u s e d t o r e g i s t e r M o b i l e p h o n e n u m b e r f o r
v e r i f i c a t i o n .
H T T P R e q u e s t
P O S T h t t p s : / / a p i . b i t s o . c o m / v 3 / p h o n e _ n u m b e r /
B o d y P a r a m e t e r s
B o d y p a r a m e t e r s s h o u l d b e J S O N e n c o d e d a n d s h o u l d b e e x a c t l y t h e s a m e
a s t h e J S O N p a y l o a d u s e d t o c o n s t r u c t t h e s i g n a t u r e .
Parameter
Default
Required
Description
phone_number
-
Yes
Mobile phone number to register (10 digits)
J S O N R e s p o n s e P a y l o a d
R e t u r n s a J S O N O b j e c t w i t h t h e f o l l o w i n g f i e l d s .
Field Name
Type
Description
Units
client_id
String
User's client ID
phone
String
Registered phone number
M o b i l e P h o n e N u m b e r V e r i f i c a t i o n
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : {
"phone" : "5554181042"
}
}
T h i s e n d p o i n t i s u s e d t o v e r i f y a r e g i s t e r e d m o b i l e p h o n e n u m b e r
H T T P R e q u e s t
P O S T h t t p s : / / a p i . b i t s o . c o m / v 3 / p h o n e _ v e r i f i c a t i o n /
B o d y P a r a m e t e r s
B o d y p a r a m e t e r s s h o u l d b e J S O N e n c o d e d a n d s h o u l d b e e x a c t l y t h e s a m e
a s t h e J S O N p a y l o a d u s e d t o c o n s t r u c t t h e s i g n a t u r e .
Parameter
Default
Required
Description
verification_code
-
Yes
Verification code sent to registered mobile number
J S O N R e s p o n s e P a y l o a d
R e t u r n s a J S O N O b j e c t w i t h t h e f o l l o w i n g f i e l d s .
Field Name
Type
Description
Units
client_id
String
User's client ID
phone
String
Registered phone number
A c c o u n t B a l a n c e
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : {
"balances" : [{
"currency" : "mxn" ,
"total" : "100.1234" ,
"locked" : "25.1234" ,
"available" : "75.0000"
}, {
"currency" : "btc" ,
"total" : "4.12345678" ,
"locked" : "25.00000000" ,
"available" : "75.12345678"
}, {
"currency" : "eth" ,
"total" : "50.1234" ,
"locked" : "40.1234" ,
"available" : "10.0000"
}]
}
}
T h i s e n d p o i n t r e t u r n s i n f o r m a t i o n c o n c e r n i n g t h e u s e r ' s b a l a n c e s f o r a l l s u p p o r t e d c u r r e n c i e s .
H T T P R e q u e s t
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / b a l a n c e /
J S O N R e s p o n s e P a y l o a d
R e t u r n s a J S O N A r r a y . E v e r y e l e m e n t i n t h e a r r a y i s a J S O N o b j e c t w i t h t h e f o l l o w i n g f i e l d s .
Field Name
Type
Description
Units
currency
String
Currency symbol
total
String
Total balance
Currency
locked
String
Currency balance locked in open orders
Currency
available
String
Currency balance available for use
Currency
F e e s
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : {
"fees" : [{
"book" : "btc_mxn" ,
"taker_fee_decimal" : "0.0001" ,
"taker_fee_percent" : "0.01" ,
"maker_fee_decimal" : "0.0001" ,
"maker_fee_percent" : "0.01"
}, {
"book" : "eth_mxn" ,
"taker_fee_decimal" : "0.0001" ,
"taker_fee_percent" : "0.01" ,
"maker_fee_decimal" : "0.0001" ,
"maker_fee_percent" : "0.01"
}],
"withdrawal_fees" : {
"btc" : "0.001" ,
"eth" : "0.0025"
}
}
}
T h i s e n d p o i n t r e t u r n s i n f o r m a t i o n o n c u s t o m e r f e e s f o r a l l a v a i l a b l e
o r d e r b o o k s , a n d w i t h d r a w a l f e e s f o r a p p l i c a b l e c u r r e n c i e s .
H T T P R e q u e s t
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / f e e s /
J S O N R e s p o n s e P a y l o a d
R e t u r n s a J S O N o b j e c t w i t h k e y s , " f e e s " a n d " w i t h d r a w a l _ f e e s " .
" f e e s " c o n t a i n s a J S O N A r r a y . E v e r y e l e m e n t i n t h e a r r a y i s a J S O N o b j e c t w i t h t h e f o l l o w i n g f i e l d s .
Field Name
Type
Description
Units
book
String
Order book symbol
Major_Minor
taker_fee_decimal
String
Customer taker trading fee as a decimal
taker_fee_percent
String
Customer taker trading fee as a percentage
maker_fee_decimal
String
Customer maker trading fee as a decimal
maker_fee_percent
String
Customer maker trading fee as a percentage
fee_decimal
String
DEPRECATED Customer trading fee as a decimal (same as maker_fee_decimal ). This was the field used before we had a Maker/Taker fee schedule.
fee_percent
String
DEPRECATED Customer trading fee as a percentage (same as maker_fee_percent ). This was the field used before we had a Maker/Taker fee schedule.
" w i t h d r a w a l _ f e e s " i s a n o b j e c t k e y e d b y e a c h c u r e n c y a n d v a l u e o f
n e t a m o u n t w i t h d r a w a l f e e s d e n o m i n a t e d i n t h e c o r r e s p o n d i n g c u r r e n c y .
L e d g e r
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : [{
"eid" : "c4ca4238a0b923820dcc509a6f75849b" ,
"operation" : "trade" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"balance_updates" : [{
"currency" : "btc" ,
"amount" : "-0.25232073"
}, {
"currency" : "mxn" ,
"amount" : "1013.540958479115"
}],
"details" : {
"tid" : 51756 ,
"oid" : "wri0yg8miihs80ngk"
}
}, {
"eid" : "6512bd43d9caa6e02c990b0a82652dca" ,
"operation" : "fee" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"balance_updates" : [{
"currency" : "mxn" ,
"amount" : "-10.237787459385"
}],
"details" : {
"tid" : 51756 ,
"oid" : "19vaqiv72drbphig"
}
}, {
"operation" : "trade" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"balance_updates" : [{
"currency" : "eth" ,
"amount" : "4.86859395"
}, {
"currency" : "mxn" ,
"amount" : "-626.77"
}],
"details" : {
"tid" : 51757 ,
"oid" : "19vaqiv72drbphig"
}
}, {
"eid" : "698d51a19d8a121ce581499d7b701668" ,
"operation" : "fee" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"balance_updates" : [{
"currency" : "eth" ,
"amount" : "0.04917771"
}],
"details" : {
"tid" : 51757 ,
"oid" : "19vaqiv72drbphig"
}
}, {
"eid" : "b59c67bf196a4758191e42f76670ceba" ,
"operation" : "funding" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"balance_updates" : [{
"currency" : "btc" ,
"amount" : "0.48650929"
}],
"details" : {
"fid" : "fc23c28a23905d8614499816c3ade455" ,
"method" : "btc" ,
"funding_address" : "18MsnATiNiKLqUHDTRKjurwMg7inCrdNEp"
}
}, {
"eid" : "b0baee9d279d34fa1dfd71aadb908c3f" ,
"operation" : "funding" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"balance_updates" : [{
"currency" : "mxn" ,
"amount" : "300.15"
}],
"details" : {
"fid" : "3ef729ccf0cc56079ca546d58083dc12" ,
"method" : "sp"
}
}, {
"eid" : "96e79218965eb72c92a549dd5a330112" ,
"operation" : "withdrawal" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"balance_updates" : [{
"currency" : "mxn" ,
"amount" : "-200.15"
}],
"details" : {
"wid" : "c5b8d7f0768ee91d3b33bee648318688" ,
"method" : "sp"
}
}]
}
R e t u r n s a l i s t o f a l l t h e u s e r ' s r e g i s t e r e d o p e r a t i o n s .
H T T P R e q u e s t
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / l e d g e r /
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / l e d g e r / t r a d e s /
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / l e d g e r / f e e s /
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / l e d g e r / f u n d i n g s /
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / l e d g e r / w i t h d r a w a l s /
Q u e r y P a r a m e t e r s
Parameter
Default
Required
Description
marker
No
Returns objects that are older or newer (depending on 'sort') than the object with this ID
sort
desc
No
Specifies ordering direction of returned objects
limit
25
No
Specifies number of objects to return. (Max is 100)
J S O N R e s p o n s e P a y l o a d
R e t u r n s a d e s c e n d i n g J S O N A r r a y o f t r a n s a c t i o n s . E v e r y e l e m e n t i n t h e a r r a y i s a J S O N o b j e c t :
Field Name
Type
Description
Units
eid
String
Entry ID
-
operation
String
Indicates type of operation (funding, withdrawal, trade, fee)
-
created_at
String
Timestamp at which the operation was recorded
ISO 8601 timestamp
balance_updates
JSON object
Updates to user balances for this operation (See dictionary specification below)
-
details
JSON object
Specific operation details
-
J S O N O b j e c t f o r b a l a n c e _ u p d a t e s
Field Name
Type
Description
Units
currency
String
Currency for this balance update
-
amount
String
Amount added or subtracted to user balance
Currency
F i l t e r L e d g e r b y o p e r a t i o n t y p e
Y o u c a n s p e c i f y t h a t t h e l e d g e r e n d p o i n t r e t u r n o n l y o b j e c t s t h a t a r e
a s p e c i f i c o p e r a t i o n t y p e .
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / l e d g e r / t r a d e s /
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / l e d g e r / f u n d i n g s /
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / l e d g e r / w i t h d r a w a l s /
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / l e d g e r / f e e s /
W i t h d r a w a l s
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : [{
"wid" : "c5b8d7f0768ee91d3b33bee648318688" ,
"status" : "pending" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"currency" : "btc" ,
"method" : "Bitcoin" ,
"amount" : "0.48650929" ,
"details" : {
"withdrawal_address" : "18MsnATiNiKLqUHDTRKjurwMg7inCrdNEp" ,
"tx_hash" : "d4f28394693e9fb5fffcaf730c11f32d1922e5837f76ca82189d3bfe30ded433"
}
}, {
"wid" : "p4u8d7f0768ee91d3b33bee6483132i8" ,
"status" : "complete" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"currency" : "mxn" ,
"method" : "sp" ,
"amount" : "2612.70" ,
"details" : {
"beneficiary_name" : "BERTRAND RUSSELL" ,
"beneficiary_bank" : "BANAMEX" ,
"beneficiary_clabe" : "002320700708015728" ,
"numeric_reference" : "99548" ,
"concepto" : "Por los 🌮 del viernes" ,
"clave_rastreo" : "BNET01001604080002076841" ,
"cep" : {
"return" : {
"cda" : {
"cadenaOriginal" : "||1|13062016|13062016|172053|40002|STP|Bitso - BERTRAND RUSSELL|40|646180115400000002|BIT140123U70|BANAMEX|BERTRAND RUSSELL|40|002320700708015728|ND|-|0.00|2612.70|00001000000401205824||" ,
"conceptoPago" : "-" ,
"cuentaBeneficiario" : "002320700708015728" ,
"cuentaOrdenante" : "646180115400000002" ,
"fechaCaptura" : "20160613" ,
"fechaOperacion" : "20160613" ,
"hora" : "17:08:42" ,
"iva" : "0.00" ,
"monto" : "2612.70" ,
"nombreBeneficiario" : "BERTRAND RUSSELL" ,
"nombreInstBeneficiaria" : "BANAMEX" ,
"nombreInstOrdenante" : "STP" ,
"nombreOrdenante" : "Bitso - Russell" ,
"referenciaNumerica" : "99548" ,
"rfcCurpBeneficiario" : "ND" ,
"rfcCurpOrdenante" : "BIT140123U70" ,
"selloDigital" : "cd7yUrnmUQ7CG6M+LX7WOZeizOpkTyMlEAunJaP2j5MAaNPZxy+vAJtgiVL73i1LNSrwK10eBb66Rh4 \/ RxU6AT2S03chQ \/ BS1beknH5xPpGQg+wEXeANtnF2lp71lAD6QZ2O0NE4MIDvLhGGjTGklSP+2fS6joTAaV+tLbtrIp8JiR0MOX1rGPC5h+0ZHNvXQkcHJz3s68+iUAvDnQBiSu768b2C4zpHzteGEnJhU8sAdk83spiWogKALAVAuN4xfSXni7GTk9HObTTRdY+zehfWVPdE \/ 7uQSmMTzOKfPbQU02Jn \/ 5DdE3gYk6JZ5m70JsUSFBTF \/ EVX8hhg0pu2iA==" ,
"serieCertificado" : "" ,
"tipoOperacion" : "C" ,
"tipoPago" : "1"
},
"estadoConsulta" : "1" ,
"url" : "http: \/\/ www.banxico.org.mx \/ cep?i=90646&s=20150825&d=viAKjS0GVYB8qihmG9I%2B9O1VUvrR2td%2Fuo3GyVDn8vBp371tVx5ltRnk4QsWP6KP%2BQvlWjT%2BzfwWWTA3TMk4tg%3D%3D"
}
}
}
}, {
"wid" : "of40d7f0768ee91d3b33bee64831jg73" ,
"status" : "complete" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"currency" : "mxn" ,
"method" : "sp" ,
"amount" : "500.00" ,
"details" : {
"beneficiary_name" : "ALFRED NORTH WHITEHEAD" ,
"beneficiary_bank" : "BANAMEX" ,
"beneficiary_clabe" : "5204165009315197" ,
"numeric_reference" : "30535" ,
"concepto" : "-" ,
"clave_rastreo" : "BNET01001604080002076841" ,
"cep" : {
"return" : {
"cda" : {
"cadenaOriginal" : "||1|07042016|07042016|095656|40002|STP|Bitso - Al|40|646180115400000002|BIT140123U70|BANAMEX|ALFRED NORTH WHITEHEAD|3|5204165009315197|ND|-|0.00|500.00|00001000000401205824||" ,
"conceptoPago" : "-" ,
"cuentaBeneficiario" : "5204165009315197" ,
"cuentaOrdenante" : "646180115400000002" ,
"fechaCaptura" : "20160407" ,
"fechaOperacion" : "20160407" ,
"hora" : "09:56:51" ,
"iva" : "0.00" ,
"monto" : "500.00" ,
"nombreBeneficiario" : "ALFRED NORTH WHITEHEAD" ,
"nombreInstBeneficiaria" : "BANAMEX" ,
"nombreInstOrdenante" : "STP" ,
"nombreOrdenante" : "Bitso - RUSSELL" ,
"referenciaNumerica" : "30535" ,
"rfcCurpBeneficiario" : "ND" ,
"rfcCurpOrdenante" : "BIT140123U70" ,
"selloDigital" : "GaXpeaKgkc+gc0w9XgBbRCMmKWLNdSTV5C4CNQ4DL4ZVT+1OBSqNtX \/ pv2IGjI7bKjCkaNrKUdaCdFwG6SdZ0nS9KtYSx1Ewg2Irg6x4kSzeHdlzBDr6ygT+bb+weizxcXMARKkciPuSQlyltCrEwSi07yVzachKfcEN8amj2fsEzim7gSyUc3ecKA1n8DX89158fwukKTIg4ECfOLsgueKF8unwbICWHXwRaaxIAA6PVw7O6WwGXxMtMBTCdiT202c8I2SnULFqK9QVJlQ \/ YDRXFI4IMMAwGQZWbbmk8gf \/ J3Fixy+0lcQV35TBBrbHyFPiaHaRN95yK \/ BUxPOhag==" ,
"serieCertificado" : "" ,
"tipoOperacion" : "C" ,
"tipoPago" : "1"
},
"estadoConsulta" : "1" ,
"url" : "http: \/\/ www.banxico.org.mx \/ cep?i=90646&s=20150825&d=3AeATtn9mM9yySMqwClgSTnKIddFN7JVwo38kDBVjOBRtcYVENx1LblV%2BXOHnKEGTfp0g%2BVLM76C3ewQ0c9vpA%3D%3D"
}
},
"folio_origen" : "BITSO4405016499736144"
}
}]
}
R e t u r n s d e t a i l e d i n f o o n a u s e r ' s f u n d w i t h d r a w a l s .
H T T P R e q u e s t
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / w i t h d r a w a l s /
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / w i t h d r a w a l s / w i d /
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / w i t h d r a w a l s ? w i d s = < w i d > , < w i d > , < w i d >
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / w i t h d r a w a l s ? o r i g i n _ i d s = < o r i g i n _ i d > , < o r i g i n _ i d > , < o r i g i n _ i d >
Q u e r y P a r a m e t e r s
Parameter
Default
Required
Description
wid
No
Specifies which withdrawal to obtain
wids
No
Specifies which withdrawals to obtain (by wid)
origin_ids
No
Specifies which withdrawals to obtain (by origin_id)
Q u e r y P a r a m e t e r s
Parameter
Default
Required
Description
limit
25
No
Specifies number of objects to return. (Max is 100)
marker
-
No
Returns objects that are older than the object with this WID (for pagination)
status
-
No
Restricts the withdrawals to those of the specified status (pending, processing, complete, failed)
method
-
No
Restricts the withdrawals to those of the specified method (SP, BTC, ETH, ...)
J S O N R e s p o n s e P a y l o a d
R e t u r n s a J S O N A r r a y o f o p e n o r d e r s . E v e r y e l e m e n t i n t h e a r r a y i s a J S O N o b j e c t :
Field Name
Type
Description
Units
wid
String
The unique withdrawal ID
-
currency
String
Currency of the withdrawal
-
method
String
Method for this withdrawal (SP, BTC, ETH, ...).
-
amount
String
The withdrawn amount
currency
status
String
The status for this withdrawal (pending, processing, complete, failed)
-
created_at
String
Timestamp at which the withdrawal as created
ISO 8601 timestamp
details
JSON object
Specific withdrawal details
-
F u n d i n g s
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : [{
"fid" : "c5b8d7f0768ee91d3b33bee648318688" ,
"status" : "pending" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"currency" : "btc" ,
"method" : "btc" ,
"amount" : "0.48650929" ,
"details" : {
"tx_hash" : "d4f28394693e9fb5fffcaf730c11f32d1922e5837f76ca82189d3bfe30ded433"
}
}, {
"fid" : "p4u8d7f0768ee91d3b33bee6483132i8" ,
"status" : "complete" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"currency" : "mxn" ,
"method" : "sp" ,
"amount" : "300.15" ,
"details" : {
"sender_name" : "BERTRAND RUSSELL" ,
"sender_bank" : "BBVA Bancomer" ,
"sender_clabe" : "012610001967722183" ,
"receive_clabe" : "646180115400467548" ,
"numeric_reference" : "80416" ,
"concepto" : "Para el 🐖" ,
"clave_rastreo" : "BNET01001604080002076841" ,
"beneficiary_name" : "ALFRED NORTH WHITEHEAD"
}
}]
}
R e t u r n s d e t a i l e d i n f o o n a u s e r ' s f u n d i n g s .
H T T P R e q u e s t
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / f u n d i n g s /
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / f u n d i n g s / f i d /
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / f u n d i n g s / f i d - f i d - f i d /
Q u e r y P a r a m e t e r s
Parameter
Default
Required
Description
limit
25
No
Specifies number of objects to return. (Max is 100)
marker
-
No
Returns objects that are older than the object with this FID (for pagination)
status
-
No
Restricts the fundings to those of the specified status (pending, in_progress, complete, failed)
method
-
No
Restricts the fundings to those of the specified method (SP, BTC, ETH, ...)
txids
-
No
Allows lookups of specific Transaction IDs - comma delimited list possible. Please note that all other parameters will be ignored
J S O N R e s p o n s e P a y l o a d
R e t u r n s a J S O N A r r a y o f f u n d i n g s . E v e r y e l e m e n t i n t h e a r r a y i s a J S O N o b j e c t :
Field Name
Type
Description
Units
fid
String
The unique funding ID
-
currency
String
Currency funded
-
method
String
Method for this funding (MXN, BTC, ETH).
-
amount
String
The funding amount
currency
status
String
The status for this funding (pending, complete, failed)
-
created_at
String
Timestamp at which the funding was received
ISO 8601 timestamp
details
JSON object
Specific funding details
-
U s e r T r a d e s
curl "https://api.bitso.com/v3/user_trades/?book=btc_mxn"
T h e J S O N A r r a y r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : [{
"book" : "btc_mxn" ,
"major" : "-0.25232073" ,
"created_at" : "2021-06-11T09:25:05.000+00:00" ,
"minor" : "1013.540958479115" ,
"fees_amount" : "-10.237787459385" ,
"fees_currency" : "mxn" ,
"price" : "4057.45" ,
"tid" : 51756 ,
"oid" : "g81d3y1ywri0yg8m" ,
"side" : "sell" ,
"maker_side" : "sell"
}, {
"book" : "eth_mxn" ,
"major" : "4.86859395" ,
"created_at" : "2021-06-11T09:25:05.000+00:00" ,
"minor" : "-626.77" ,
"fees_amount" : "-0.04917771" ,
"fees_currency" : "btc" ,
"price" : "127.45" ,
"tid" : 51757 ,
"oid" : "19vaqiv72drbphig" ,
"side" : "buy" ,
"maker_side" : "sell"
}]
}
T h i s e n d p o i n t r e t u r n s a l i s t o f t r a d e s t h a t w e r e c r e a t e d f r o m o n e o f y o u r o r d e r s .
H T T P R e q u e s t
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / u s e r _ t r a d e s /
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / u s e r _ t r a d e s / t i d /
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / u s e r _ t r a d e s / t i d - t i d - t i d /
Q u e r y P a r a m e t e r s
Parameter
Default
Required
Description
book
No
Specifies which book to use
marker
No
Returns objects that are older or newer (depending on 'sort') than the object with this ID
sort
desc
No
Specifies ordering direction of returned objects
limit
25
No
Specifies number of objects to return. (Max is 100)
J S O N R e s p o n s e P a y l o a d
R e t u r n s d e s c e n d i n g J S O N A r r a y o f t r a n s a c t i o n s . E v e r y e l e m e n t i n t h e a r r a y i s a J S O N o b j e c t :
Field Name
Type
Description
Units
book
String
Order book symbol
Major_Minor
major
String
Major amount traded
Major
minor
String
Minor amount traded
Minor
price
String
Price per unit of major
Minor
side
String
Indicates the user's side for this trade (buy, sell)
maker_side
String
Indicates the maker's side for this trade (buy, sell), if it matches with side you're maker
fees_currency
String
Indicates the currency in which the trade fee was charged
-
fees_amount
String
Indicates the amount charged as trade fee
tid
Long
Trade ID
oid
String
Users' Order ID
origin_id
String
Users' Order 'origin_id' (if any)
created_at
String
Timestamp at which the trade was executed
ISO 8601 timestamp
O r d e r T r a d e s
curl "https://api.bitso.com/v3/order_trades/Jvqrschkgdkc1go3"
T h e J S O N A r r a y r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : [{
"book" : "btc_mxn" ,
"major" : "-0.25232073" ,
"created_at" : "2021-06-11T09:25:05.000+00:00" ,
"minor" : "1013.540958479115" ,
"fees_amount" : "-10.237787459385" ,
"fees_currency" : "mxn" ,
"price" : "4057.45" ,
"tid" : 51756 ,
"oid" : "Jvqrschkgdkc1go3" ,
"origin_id" : "origin_id1" ,
"side" : "sell" ,
"maker_side" : "sell"
},
{
"book" : "btc_mxn" ,
"major" : "-0.25" ,
"created_at" : "2021-06-11T09:25:05.000+00:00" ,
"minor" : "513.540958479115" ,
"fees_amount" : "-10.237787459385" ,
"fees_currency" : "mxn" ,
"price" : "4057.45" ,
"tid" : 51755 ,
"oid" : "Jvqrschkgdkc1go3" ,
"origin_id" : "origin_id1" ,
"side" : "sell" ,
"maker_side" : "sell"
}
]
}
T h i s e n d p o i n t r e t u r n s a l i s t o f t h e u s e r ' s t r a d e s .
H T T P R e q u e s t
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / o r d e r _ t r a d e s / < o i d > /
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / o r d e r _ t r a d e s ? o r i g i n _ i d = < o r i g i n _ i d >
Q u e r y P a r a m e t e r s
Parameter
Default
Required
Description
oid
No
Specifies which order to get corresponding trades for
origin_id
No
Specifies which order to get corresponding trades for (by origin_id)
J S O N R e s p o n s e P a y l o a d
R e t u r n s d e s c e n d i n g J S O N A r r a y o f t r a n s a c t i o n s . E v e r y e l e m e n t i n t h e a r r a y i s a J S O N o b j e c t :
Field Name
Type
Description
Units
book
String
Order book symbol
Major_Minor
major
String
Major amount traded
Major
minor
String
Minr amount traded
Minor
price
String
Price per unit of major
Minor
side
String
Indicates the user's side for this trade (buy, sell)
maker_side
String
Indicates the maker's side for this trade (buy, sell), if it matches with side you're maker
fees_currency
String
Indicates the currency in which the trade fee was charged
-
fees_amount
String
Indicates the amount charged as trade fee
tid
Long
Trade ID
oid
String
Users' Order ID
origin_id
String
Users' Order 'origin_id' (if any)
created_at
String
Timestamp at which the trade was executed
ISO 8601 timestamp
O p e n O r d e r s
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : [{
"book" : "btc_mxn" ,
"original_amount" : "0.01000000" ,
"unfilled_amount" : "0.00500000" ,
"original_value" : "56.0" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"updated_at" : "2016-04-08T17:52:51.000+00:00" ,
"price" : "5600.00" ,
"oid" : "543cr2v32a1h68443" ,
"origin_id" : "origin_id1" ,
"side" : "buy" ,
"status" : "partially filled" ,
"type" : "limit"
}, {
"book" : "btc_mxn" ,
"original_amount" : "0.12680000" ,
"unfilled_amount" : "0.12680000" ,
"original_value" : "507.2" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"updated_at" : "2016-04-08T17:52:41.000+00:00" ,
"price" : "4000.00" ,
"oid" : "qlbga6b600n3xta7" ,
"side" : "sell" ,
"status" : "open" ,
"type" : "limit"
}, {
"book" : "btc_mxn" ,
"original_amount" : "1.12560000" ,
"unfilled_amount" : "1.12560000" ,
"original_value" : "6892.66788" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"updated_at" : "2016-04-08T17:52:41.000+00:00" ,
"price" : "6123.55" ,
"oid" : "d71e3xy2lowndkfm" ,
"side" : "sell" ,
"status" : "open" ,
"type" : "limit"
}]
}
R e t u r n s a l i s t o f t h e u s e r ' s o p e n o r d e r s .
H T T P R e q u e s t
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / o p e n _ o r d e r s ? b o o k = b t c _ m x n
Q u e r y P a r a m e t e r s
Parameter
Default
Required
Description
book
all
no
Specifies which book to use
currency
No
Specifies which orders are going to be filtered by currency (minor or major)
limit
500
No
Limits the amount of results from the result set
J S O N R e s p o n s e P a y l o a d
R e t u r n s a J S O N A r r a y o f o p e n o r d e r s . E v e r y e l e m e n t i n t h e a r r a y i s a J S O N o b j e c t :
Field Name
Type
Description
Units
oid
String
The Order ID
-
book
String
Order book symbol
Major_Minor
original_amount
String
The order's initial major currency amount
Major
unfilled_amount
String
The order's unfilled major currency amount
Major
original_value
String
The order's initial minor currency amount
Minor
created_at
String
Timestamp at which the trade was executed
ISO 8601 timestamp
updated_at
String
Timestamp at which the trade was updated (can be null)
ISO 8601 timestamp
price
String
The order's price
Minor
side
String
The order side (buy, sell)
-
status
String
The order's status (queued, open, partially filled)
type
String
The order type (will always be 'limit' for open orders)
-
L o o k u p O r d e r s
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : [{
"book" : "btc_mxn" ,
"original_amount" : "0.01000000" ,
"unfilled_amount" : "0.00500000" ,
"original_value" : "56.0" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"updated_at" : "2016-04-08T17:52:51.000+00:00" ,
"price" : "5600.00" ,
"oid" : "543cr2v32a1h6844" ,
"side" : "buy" ,
"status" : "partially filled" ,
"type" : "limit"
}, {
"book" : "btc_mxn" ,
"original_amount" : "0.12680000" ,
"unfilled_amount" : "0.12680000" ,
"original_value" : "507.2" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"updated_at" : "2016-04-08T17:52:41.000+00:00" ,
"price" : "4000.00" ,
"oid" : "qlbga6b600n3xta7a" ,
"side" : "sell" ,
"status" : "open" ,
"type" : "limit"
}]
}
R e t u r n s d e t a i l s f o r o n e o r m o r e o f y o u r o r d e r s . O n l y o p e n e d o r p a r t i a l l y f i l l e d o r d e r s w i l l b e r e t u r n e d b y t h i s e n d p o i n t .
A s s o o n a s a n o r d e r h a s b e e n f u l l y m a t c h e d o r c a n c e l e d , i t w i l l n o t b e i n c l u d e d i n t h e r e s p o n s e .
P l e a s e r e f e r t o t h e O r d e r T r a d e s e n d p o i n t t o p u l l t h e l i s t o f t r a d e s f o r o r d e r s .
H T T P R e q u e s t
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / o r d e r s / < o i d > /
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / o r d e r s ? o i d s = < o i d > , < o i d > , < o i d >
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / o r d e r s ? o r i g i n _ i d s = < o r i g i n _ i d > , < o r i g i n _ i d > , < o r i g i n _ i d >
Q u e r y P a r a m e t e r s
Parameter
Default
Required
Description
oid
No
Specifies which order to obtain
oids
No
Specifies which order to obtain (by order_id)
origin_ids
No
Specifies which order to obtain (by origin_id)
J S O N R e s p o n s e P a y l o a d
R e t u r n s a J S O N A r r a y o f o p e n o r d e r s . E v e r y e l e m e n t i n t h e a r r a y i s a J S O N o b j e c t :
Field Name
Type
Description
Units
oid
String
The Order ID
-
book
String
Order book symbol
Major_Minor
original_amount
String
The order's initial major currency amount
Major
unfilled_amount
String
The order's unfilled major currency amount
Major
original_value
String
The order's initial minor currency amount
Minor
created_at
String
Timestamp at which the order was created
ISO 8601 timestamp
updated_at
String
Timestamp at which the order was updated (can be null)
ISO 8601 timestamp
price
String
The order's price
Minor
side
String
The order side (buy, sell)
-
status
String
The order's status (queued, open, partially filled, closed)
-
type
String
The order type (market, limit)
-
origin_id
String
The origin_id if any
-
time_in_force
String
The time in force paramater for limit orders
-
stop
String
The stop price for Stop orders
-
triggered_at
String
Timestamp at which a stop order was triggered
ISO 8601 timestamp
C a n c e l O r d e r
T h e s t r i n g r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" :[
"cME2F7uZKJcMKXqU" ,
"FwllxXRKvcgJmyFy" ,
"zhDI9iBRglW9s9Vu"
]
}
C a n c e l s o p e n o r d e r ( s )
H T T P R e q u e s t
D E L E T E h t t p s : / / a p i . b i t s o . c o m / v 3 / o r d e r s / < o i d > /
D E L E T E h t t p s : / / a p i . b i t s o . c o m / v 3 / o r d e r s ? o i d s = < o i d > , < o i d > , < o i d >
D E L E T E h t t p s : / / a p i . b i t s o . c o m / v 3 / o r d e r s ? o r i g i n _ i d s = < o r i g i n _ i d > , < o r i g i n _ i d > , < o r g i n _ i d >
D E L E T E h t t p s : / / a p i . b i t s o . c o m / v 3 / o r d e r s / a l l
Q u e r y P a r a m e t e r s
Parameter
Default
Required
Description
oid
No
Specifies the order that should be cancelled
oids
No
Specifies which orders should be cancelled (by order_id)
origin_ids
No
Specifies which orders should be cancelled (by origin_id)
all
No
Cancells all the open orders of the user
J S O N R e s p o n s e P a y l o a d
T h e r e s p o n s e i s a l i s t o f O r d e r I D s ( O I D s ) f o r t h e c a n c e l e d o r d e r s . O r d e r s m a y n o t b e s u c c e s s f u l l y c a n c e l l e d i f t h e y h a v e b e e n f i l l e d , h a v e b e e n a l r e a d y c a n c e l l e d , o r t h e O I D s a r e i n c o r r e c t .
P l a c e a n O r d e r
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : {
"oid" : "qlbga6b600n3xta7"
}
}
P l a c e s a b u y o r s e l l o r d e r ( b o t h l i m i t a n d m a r k e t o r d e r s a r e a v a i l a b l e )
H T T P R e q u e s t
P O S T h t t p s : / / a p i . b i t s o . c o m / v 3 / o r d e r s /
B o d y P a r a m e t e r s
B o d y p a r a m e t e r s s h o u l d b e J S O N e n c o d e d a n d s h o u l d b e e x a c t l y t h e s a m e
a s t h e J S O N p a y l o a d u s e d t o c o n s t r u c t t h e s i g n a t u r e .
Parameter
Default
Required
Description
book
-
Yes
Specifies which book to use
side
-
Yes
The order side (buy, sell)
type
-
Yes
The order type (market, limit)
major
-
No
The amount of major currency for this order. An order must be specified in terms of major or minor, never both.
minor
-
No
The amount of minor currency for this order. An order must be specified in terms of major or minor, never both.
price
-
No
Price per unit of major. For use only with limit orders
stop
-
No
Price per unit of major at which to stop and place order. For use only with stop orders.
time_in_force
-
No
Indicates how long a limit order will remain active before it is executed or expires (goodtillcancelled, fillorkill, immediateorcancel, postonly)
origin_id
-
No
Client supplied unique ID. Can be used to lookup and cancel orders
J S O N R e s p o n s e P a y l o a d
R e t u r n s a J S O N o b j e c t r e p r e s e n t i n g t h e o r d e r :
Field Name
Type
Description
Units
oid
String
The Order ID
-
F u n d i n g D e s t i n a t i o n
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : {
"account_identifier_name" : "SPEI CLABE" ,
"account_identifier" : "646180115400346012"
}
}
R e t u r n s a c c o u n t f u n d i n g i n f o r m a t i o n f o r s p e c i f i e d c u r r e n c i e s .
H T T P R e q u e s t
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / f u n d i n g _ d e s t i n a t i o n /
Q u e r y P a r a m e t e r s
Parameter
Default
Required
Description
fund_currency
-
Yes
Specifies which currency to fund with.
J S O N R e s p o n s e P a y l o a d
R e t u r n s a J S O N o b j e c t r e p r e s e n t i n g t h e o r d e r :
Field Name
Type
Description
Units
account_identifier_name
String
Account identifier name to fund with the specified currency.
-
account_identifier
String
Identifier to where the funds can be sent to.
-
C r y p t o W i t h d r a w a l s
T h e s t r i n g r e t u r n e d b y t h e A P I l o o k s l i k e t h i s ( e x a m p l e f o r B T C ) :
{
"success" : true ,
"payload" : {
"wid" : "c5b8d7f0768ee91d3b33bee648318688" ,
"status" : "pending" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"currency" : "btc" ,
"method" : "btc" ,
"amount" : "0.48650929" ,
"details" : {
"withdrawal_address" : "3EW92Ajg6sMT4hxK8ngEc7Ehrqkr9RoDt7" ,
"tx_hash" : null
}
}
}
T h e f o l l o w i n g e n d p o i n t s a r e a v a i l a b l e f o r m a k i n g a c r y p t o c u r r e n c y w i t h d r a w a l f r o m t h e u s e r ' s a c c o u n t :
H T T P R e q u e s t
Asset
Endpoint
all
POST https://api.bitso.com/v3/crypto_withdrawal/
btc
POST https://api.bitso.com/v3/bitcoin_withdrawal/
eth
POST https://api.bitso.com/v3/ether_withdrawal/
xrp
POST https://api.bitso.com/v3/ripple_withdrawal/
bch
POST https://api.bitso.com/v3/bcash_withdrawal/
ltc
POST https://api.bitso.com/v3/litecoin_withdrawal/
B o d y P a r a m e t e r s
B o d y p a r a m e t e r s s h o u l d b e J S O N e n c o d e d a n d s h o u l d b e e x a c t l y t h e s a m e
a s t h e J S O N p a y l o a d u s e d t o c o n s t r u c t t h e s i g n a t u r e .
Parameter
Default
Required
Description
currency
-
Yes
The currency to withdraw (only required for crypto_withdrawal endpoint)
amount
-
Yes
The amount of the asset to withdraw from your account
address
-
Yes
The address to send that amount to
max_fee
-
No
The maximum withdrawal you are willing to pay
destination_tag
-
No
Destination Tag (Ripple XRP only, optional)
J S O N R e s p o n s e P a y l o a d
R e t u r n s a J S O N o b j e c t r e p r e s e n t i n g t h e o r d e r :
Field Name
Type
Description
Units
wid
String
Unique Withdrawal ID
-
status
String
Status of the withdrawal request (pending, complete)
-
created_at
String
Timestamp at which the withdrawal request was created
ISO 8601 timestamp
currency
String
Currency specified for this withdrawal (e.g. BTC)
-
method
String
Method for this withdrawal (e.g. BTC).
-
amount
String
Amount to withdraw.
units of e.g. BTC
details
String
Method specific details for this withdrawal
-
S P E I W i t h d r a w a l
T h e s t r i n g r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : {
"wid" : "p4u8d7f0768ee91d3b33bee6483132i8" ,
"status" : "pending" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"currency" : "mxn" ,
"method" : "sp" ,
"amount" : "300.15" ,
"details" : {
"sender_name" : "JUAN ESCUTIA" ,
"receive_clabe" : "012610001967722183" ,
"sender_clabe" : "646180115400467548" ,
"numeric_reference" : "80416" ,
"concepto" : "Tacos del viernes" ,
"clave_rastreo" : null ,
"beneficiary_name" : "FRANCISCO MARQUEZ"
}
}
}
T r i g g e r s a S P E I w i t h d r a w a l f r o m y o u r a c c o u n t .
T h e s e w i t h d r a w a l s a r e i m m e d i a t e d u r i n g b a n k i n g h o u r s f o r s o m e b a n k s ( M - F 9 : 0 0 A M - 5 : 0 0 P M M e x i c o C i t y T i m e ) , 2 4 h o u r s f o r o t h e r s .
H T T P R e q u e s t
P O S T h t t p s : / / a p i . b i t s o . c o m / v 3 / s p e i _ w i t h d r a w a l /
B o d y P a r a m e t e r s
B o d y p a r a m e t e r s s h o u l d b e J S O N e n c o d e d a n d s h o u l d b e e x a c t l y t h e s a m e
a s t h e J S O N p a y l o a d u s e d t o c o n s t r u c t t h e s i g n a t u r e .
Parameter
Default
Required
Description
amount
-
Yes
The amount of MXN to withdraw from your account
recipient_given_names
-
Yes
The recipient's first and middle name(s )
recipient_family_names
-
Yes
The recipient's last name
clabe
-
Yes
The CLABE number where the funds will be sent to
notes_ref
-
No
The alpha-numeric reference number for this SPEI (max. 40 characters)
numeric_ref
-
No
The numeric reference for this SPEI (max. 7 digits)
J S O N R e s p o n s e P a y l o a d
R e t u r n s a J S O N o b j e c t r e p r e s e n t i n g t h e o r d e r :
Field Name
Type
Description
Units
wid
String
Unique Withdrawal ID
-
status
String
Status of the withdrawal request (pending, complete)
-
created_at
String
Timestamp at which the withdrawal request was created
ISO 8601 timestamp
currency
String
Currency specified for this withdrawal (MXN)
-
method
String
Method for this withdrawal (SPEI Transfer)
-
amount
String
Amount to withdraw
-
details
String
Method specific details for this withdrawal
-
B a n k C o d e s
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : [{
"code" : "01" ,
"name" : "Banregio"
}, {
"code" : "02" ,
"name" : "BBVA"
}]
}
T h i s e n d p o i n t r e t u r n s c o d e s a n d b a n k n a m e s t o b e u s e d i n t h e D e b i t C a r d W I t h d r a w a l a n d P h o n e N u m b e r W i t h d r a w a l e n d p o i n t s
H T T P R e q u e s t
G E T h t t p s : / / a p i . b i t s o . c o m / v 3 / m x _ b a n k _ c o d e s /
J S O N R e s p o n s e P a y l o a d
R e t u r n s a J S O N A r r a y . E v e r y e l e m e n t i n t h e a r r a y i s a J S O N o b j e c t w i t h t h e f o l l o w i n g f i e l d s .
Field Name
Type
Description
Units
code
String
Corresponding bank's code
name
String
Corresponding bank's name
D e b i t C a r d W i t h d r a w a l
T h e s t r i n g r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : {
"wid" : "p4u8d7f0768ee91d3b33bee6483132i8" ,
"status" : "pending" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"currency" : "mxn" ,
"method" : "sp" ,
"amount" : "300.15" ,
"details" : {
"sender_name" : "JUAN ESCUTIA" ,
"receive_clabe" : "012610001967722183" ,
"sender_clabe" : "646180115400467548" ,
"numeric_reference" : "80416" ,
"concepto" : "Tacos del viernes" ,
"clave_rastreo" : null ,
"beneficiary_name" : "FRANCISCO MARQUEZ"
}
}
}
T r i g g e r s a D e b i t C a r d s w i t h d r a w a l f r o m y o u r a c c o u n t .
T h e s e w i t h d r a w a l s a r e i m m e d i a t e d u r i n g b a n k i n g h o u r s f o r s o m e
b a n k s ( M - F 9 : 0 0 A M - 5 : 0 0 P M M e x i c o C i t y T i m e ) , 2 4 h o u r s f o r o t h e r s .
H T T P R e q u e s t
P O S T h t t p s : / / a p i . b i t s o . c o m / v 3 / d e b i t _ c a r d _ w i t h d r a w a l /
B o d y P a r a m e t e r s
B o d y p a r a m e t e r s s h o u l d b e J S O N e n c o d e d a n d s h o u l d b e e x a c t l y t h e s a m e
a s t h e J S O N p a y l o a d u s e d t o c o n s t r u c t t h e s i g n a t u r e .
Parameter
Default
Required
Description
amount
-
Yes
The amount of MXN to withdraw from your account
recipient_given_names
-
Yes
The recipient's first and middle name(s )
recipient_family_names
-
Yes
The recipient's last name
card_number
-
Yes
The debit card number where the funds will be sent to
bank_code
-
Yes
The bank code for this card's issuer as returned by the "Bank Codes" endpoint
J S O N R e s p o n s e P a y l o a d
R e t u r n s a J S O N o b j e c t r e p r e s e n t i n g t h e o r d e r :
Field Name
Type
Description
Units
wid
String
Unique Withdrawal ID
-
status
String
Status of the withdrawal request (pending, complete)
-
created_at
String
Timestamp at which the withdrawal request was created
ISO 8601 timestamp
currency
String
Currency specified for this withdrawal (MXN)
-
method
String
Method for this withdrawal (Debit Card Withdrawal)
-
amount
String
Amount to withdraw
-
details
String
Method specific details for this withdrawal
-
P h o n e N u m b e r W i t h d r a w a l
T h e s t r i n g r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : {
"wid" : "p4u8d7f0768ee91d3b33bee6483132i8" ,
"status" : "pending" ,
"created_at" : "2016-04-08T17:52:31.000+00:00" ,
"currency" : "mxn" ,
"method" : "sp" ,
"amount" : "300.15" ,
"details" : {
"sender_name" : "JUAN ESCUTIA" ,
"receive_clabe" : "012610001967722183" ,
"sender_clabe" : "646180115400467548" ,
"numeric_reference" : "80416" ,
"concepto" : "Tacos del viernes" ,
"clave_rastreo" : null ,
"beneficiary_name" : "FRANCISCO MARQUEZ"
}
}
}
T r i g g e r s a w i t h d r a w a l f r o m y o u r a c c o u n t t o a p h o n e n u m b e r . ( P h o n e
n u m b e r m u s t b e r e g i s t e r e d f o r S P E I T r a n s f e r s w i t h t h e i r c o r r e s p o n d i n g b a n k )
T h e s e w i t h d r a w a l s a r e i m m e d i a t e d u r i n g b a n k i n g h o u r s f o r s o m e
b a n k s ( M - F 9 : 0 0 A M - 5 : 0 0 P M M e x i c o C i t y T i m e ) , 2 4 h o u r s f o r
o t h e r s .
H T T P R e q u e s t
P O S T h t t p s : / / a p i . b i t s o . c o m / v 3 / p h o n e _ w i t h d r a w a l /
B o d y P a r a m e t e r s
B o d y p a r a m e t e r s s h o u l d b e J S O N e n c o d e d a n d s h o u l d b e e x a c t l y t h e s a m e
a s t h e J S O N p a y l o a d u s e d t o c o n s t r u c t t h e s i g n a t u r e .
Parameter
Default
Required
Description
amount
-
Yes
The amount of MXN to withdraw from your account
recipient_given_names
-
Yes
The recipient's first and middle name(s )
recipient_family_names
-
Yes
The recipient's last name
phone_number
-
Yes
The phone number associated with the account where the funds will be sent to
bank_code
-
Yes
The bank code for this card's issuer as returned by the "Bank Codes" endpoint
J S O N R e s p o n s e P a y l o a d
R e t u r n s a J S O N o b j e c t r e p r e s e n t i n g t h e o r d e r :
Field Name
Type
Description
Units
wid
String
Unique Withdrawal ID
-
status
String
Status of the withdrawal request (pending, complete)
-
created_at
String
Timestamp at which the withdrawal request was created
ISO 8601 timestamp
currency
String
Currency specified for this withdrawal (MXN)
-
method
String
Method for this withdrawal (Debit Card Withdrawal)
-
amount
String
Amount to withdraw
-
details
String
Method specific details for this withdrawal
-
W e b S o c k e t A P I
G e n e r a l
T h e T r a d e s c h a n n e l s e n d a m e s s a g e w h e n e v e r a n e w t r a d e i s e x e c u t e d i n t h e c o r r e s p o n d i n g o r d e r b o o k .
T h e O r d e r s c h a n n e l m a i n t a i n s a n u p - t o - d a t e l i s t o f t h e t o p 2 0 a s k s a n d t h e t o p 2 0 b i d s , n e w m e s s a g e s a r e s e n t a c r o s s t h e c h a n n e l w h e n e v e r t h e r e i s a c h a n g e i n e i t h e r t o p 2 0 .
T h e D i f f - O r d e r s c h a n n e l w i l l s e n d a c r o s s a n y m o d i f i c a t i o n s t o t h e
o r d e r b o o k . S p e c i f i c a l l y , a n y s t a t e c h a n g e s i n e x i s t i n g o r d e r s
( i n c l u d i n g o r d e r s n o t i n t h e t o p 2 0 ) , a n d a n y n e w o r d e r s . A n o r d e r
c o u l d b e r e m o v e d , i n w h i c h c a s e i t w o n ' t h a v e a n ' a ' f i e l d ( a m o u n t ) ,
o r a n o r d e r c o u l d h a v e b e e n p a r t i a l l y f i l l e d ( y o u c a n l o o k u p a n
o r d e r ' s s t a t e v i a t h e l o o k u p _ o r d e r e n d p o i n t ) w h i c h w i l l b e r e f l e c t e d
i n t h e a m o u n t f i e l d . E a c h m e s s a g e c o n t a i n s a s e q u e n c e n u m b e r , w h i c h
a r e i n c r e a s i n g i n t e g e r v a l u e s , e a c h n e w m e s s a g e i n c r e m e n t i n g t h e
s e q u e n c e n u m b e r b y o n e . I f y o u s e e a s e q u e n c e n u m b e r t h a t i s m o r e t h a n
o n e v a l u e t h a t t h e p r e v i o u s , t h i s m e a n s a m e s s a g e h a s b e e n d r o p p e d a n d
y o u n e e d t o u p d a t e t h e o r d e r b o o k t o g e t t o c o r r e c t s t a t e . I n t h e o r y ,
y o u c a n g e t a c o p y o f t h e f u l l o r d e r b o o k v i a R E S T o n c e , a n d k e e p i t
u p t o d a t e b y u s i n g t h e d i f f - o r d e r s c h a n n e l w i t h t h e f o l l o w i n g
a l g o r i t h m :
A l g o r i t h m
(一) S u b s c r i b e t o t h e d i f f - o r d e r s c h a n n e l .
(二) Q u e u e a n y m e s s a g e t h a t c o m e i n t o t h i s c h a n n e l .
(三) G e t t h e f u l l o r d e r b o o k f r o m t h e R E S T o r d e r b o o k e n d p o i n t .
(四) P l a y b a c k t h e q u e u e d m e s s a g e , d i s c a r d i n g t h e o n e s w i t h s e q u e n c e
n u m b e r b e l o w o r e q u a l t o t h e o n e f r o m t h e R E S T o r d e r b o o k .
(五) A p p l y t h e n e x t q u e u e d m e s s a g e s t o y o u r l o c a l o r d e r b o o k d a t a
s t r u c t u r e .
(六) A p p l y r e a l - t i m e m e s s a g e s t o y o u r l o c a l o r d e r b o o k a s t h e y c o m e i n
t r o u g h t h e s t r e a m .
A n o r d e r ' s t i m e s t a m p f i e l d i s i m m u t a b l e . E v e n i f t h e a m o u n t f i e l d i s m u t a t e d , o r t h e o r d e r r e m o v e d , t h e t i m e s t a m p f i e l d r e m a i n s a s i t w a s w h e n t h e o r d e r w a s c r e a t e d . N o t e t h a t a t i m e s t a m p i s n o t u n i q u e . D i f f e r e n t o r d e r s c a n h a v e t h e s a m e t i m e s t a m p .
H o w t o c o n n e c t
C r e a t e a W e b S o c k e t i n s t a n c e :
websocket = new WebSocket('wss://ws.bitso.com');
S u b s c r i b e t o e a c h c h a n n e l y o u w i s h t o c o n n e c t t o :
websocket.onopen = function() {
websocket.send(JSON.stringify({ action: 'subscribe', book: 'btc_mxn', type: 'trades' }));
websocket.send(JSON.stringify({ action: 'subscribe', book: 'btc_mxn', type: 'diff-orders' }));
websocket.send(JSON.stringify({ action: 'subscribe', book: 'btc_mxn', type: 'orders' }));
};
T h e s e r v e r w i l l a c k n o w l e d g e e a c h s u b s c r i p t i o n t o a c h a n n e l w i t h a m e s s a g e . F o r e x a m p l e , a s u c c e s s f u l s u b s c r i p t i o n t o t h e ' t r a d e s ' c h a n n e l
w i l l b e a c k n o w l e d g e d i n t h e f o l l o w i n g m a n n e r :
{action: "subscribe", response: "ok", time: 1455831538045, type: "trades"}
O n c e y o u ' v e s u c c e s f u l l y s u b s c r i b e d t o a c h a n n e l , l i s t e n f o r m e s s a g e s a n d h a n d l e t h e m a p p r o p r i a t e l y :
websocket.onmessage = function(message){
var data = JSON.parse(message.data);
if (data.type == 'trades' && data.payload) {
}
else if (data.type == 'diff-orders' && data.payload) {
}
else if (data.type == 'orders' && data.payload) {
}
};
K e e p a l i v e m e s s a g e s l o o k l i k e t h i s :
{"type":"ka"}
E x a m p l e I m p l e m e n t a t i o n
U s e t h i s e x a m p l e n a t i v e j a v a s c r i p t i m p l e m e n t a t i o n f o r y o u r r e f e r e n c e :
h t t p s : / / b i t s o . c o m / d e m o _ w s . h t m l
T r a d e s C h a n n e l
M e s s a g e s o n t h i s c h a n n e l l o o k l i k e t h i s :
{
"type" : "trades" ,
"book" : "btc_mxn" ,
"payload" : [
{
"i" : 72022 ,
"a" : "0.0035" ,
"r" : "7190" ,
"v" : "25.16"
}
]
}
C l i e n t s u b s c r i p t i o n m e s s a g e
{ a c t i o n : ' s u b s c r i b e ' , b o o k : ' b t c _ m x n ' , t y p e : ' t r a d e s ' }
S e r v e r s u b s c r i p t i o n r e s p o n s e m e s s a g e
{ a c t i o n : " s u b s c r i b e " , r e s p o n s e : " o k " , t i m e : 1 4 5 5 8 3 1 5 3 8 0 4 5 , t y p e : " t r a d e s " }
S e r v e r J S O N m e s s a g e
T h e p a y l o a d c o n t a i n s a n a r r a y w i t h o n e o r m o r e t r a d e s o f t h e f o l l o w i n g f o r m :
Field Name
Type
Description
Units
i
Number
A unique number identifying the transaction
-
a
String
Amount
Major
r
String
Rate
Minor
v
String
Value
Minor
t
Number
Maker side, 0 indicates buy 1, indicates sell
-
mo
String
Maker Order ID
-
to
String
Taker Order ID
-
D i f f - O r d e r s
M e s s a g e s o n t h i s c h a n n e l l o o k l i k e t h i s :
{
"type" : "diff-orders" ,
"book" : "btc_mxn" ,
"sequence" : 2734 ,
"payload" : [
{
"d" : 1455315979682 ,
"r" : "7251.1" ,
"t" : 1 ,
"a" : "0.29437179" ,
"v" : "2134.51" ,
"o" : 'VM 7 lVpgXf 04 o 6 vJ 6 '
}
]
}
C l i e n t s u b s c r i p t i o n m e s s a g e
w e b s o c k e t . s e n d ( J S O N . s t r i n g i f y ( { a c t i o n : ' s u b s c r i b e ' , b o o k : ' b t c _ m x n ' , t y p e : ' d i f f - o r d e r s ' } ) ) ;
S e r v e r s u b s c r i p t i o n r e s p o n s e m e s s a g e
{ a c t i o n : " s u b s c r i b e " , r e s p o n s e : " o k " , t i m e : 1 4 5 5 8 3 1 5 3 8 0 4 7 , t y p e : " d i f f - o r d e r s " }
S e r v e r J S O N M e s s a g e
T h e p a y l o a d c o n t a i n s a n a r r a y w i t h o n e o r m o r e o r d e r s o f t h e f o l l o w i n g f o r m :
Field Name
Type
Description
Units
d
Number
Unix timestamp
Milliseconds
r
String
Rate
Minor
t
Number
0 indicates sell 1 indicates buy
-
a
String
Amount
Major
v
String
Value
Minor
o
String
Order ID
-
O r d e r s
M e s s a g e s o n t h i s c h a n n e l l o o k l i k e t h i s :
{
"type" : "orders" ,
"book" : "btc_mxn" ,
"payload" : {
"bids" : [
{
"r" : "7185" ,
"a" : "0.001343" ,
"v" : "9.64" ,
"t" : 1 ,
"d" : 1455315394039
},
{
"r" : "7183.01" ,
"a" : "0.007715" ,
"v" : "55.41" ,
"t" : 1 ,
"d" : 1455314938419
},
{
"r" : "7183" ,
"a" : "1.59667303" ,
"v" : "11468.9" ,
"t" : 1 ,
"d" : 1455314894615
}
],
"asks" : [
{
"r" : "7251.1" ,
"a" : "0.29437179" ,
"v" : "2134.51" ,
"t" : 0 ,
"d" : 1455315979682
},
{
"r" : "7251.72" ,
"a" : "1.32057812" ,
"v" : "9576.46" ,
"t" : 0 ,
"d" : 1455303931277
}
]
}
}
C l i e n t S u b s c r i p t i o n m e s s a g e
{ w e b s o c k e t . s e n d ( J S O N . s t r i n g i f y ( { a c t i o n : ' s u b s c r i b e ' , b o o k : ' b t c _ m x n ' , t y p e : ' o r d e r s ' } ) ) ;
S e r v e r s u b s c r i p t i o n r e s p o n s e m e s s a g e
{ a c t i o n : " s u b s c r i b e " , r e s p o n s e : " o k " , t i m e : 1 4 5 5 8 3 1 5 3 8 0 4 8 , t y p e : " o r d e r s " }
S e r v e r J S O N m e s s a g e
T h e p a y l o a d c o n t a i n s a J S O N w i t h t w o k e y s , o n e f o r t h e b i d s a n d t h e o t h e r f o r a s k s o n t h e o r d e r b o o k . B o t h b i d s a n d a s k s c o n t a i n o r d e r s o f t h e f o l l o w i n g f o r m :
Field Name
Type
Description
Units
r
String
Rate
Minor
a
String
Amount
Major
v
String
Value
Minor
t
Number
0 indicates sell 1 indicates buy
-
d
Number
Unix timestamp
Milliseconds
W e b h o o k s
R e g i s t e r i n g U R L s
U s e r s c a n r e g i s t e r a c a l l b a c k u r l t h a t w i l l g e t h i t w i t h p a y l o a d s
c o r r e s p o n d i n g t o c e r t a i n e v e n t s d e s c r i b e d b e l o w . ( C a l l b a c k u r l s t h a t t a k e m o r e t h a n 5 s e c o n d s t o r e s p o n d w i l l t i m e o u t )
T h e J S O N o b j e c t r e t u r n e d b y t h e A P I l o o k s l i k e t h i s :
{
"success" : true ,
"payload" : "Succesfully registered URL: <callback_url>"
}
H T T P R e q u e s t
P O S T h t t p s : / / a p i . b i t s o . c o m / v 3 / w e b h o o k s /
B o d y P a r a m e t e r s
B o d y p a r a m e t e r s s h o u l d b e J S O N e n c o d e d a n d s h o u l d b e e x a c t l y t h e s a m e
a s t h e J S O N p a y l o a d u s e d t o c o n s t r u c t t h e s i g n a t u r e .
Parameter
Default
Required
Description
callback_url
Yes
Specifies a url that will be hit on events
F u n d i n g s
U s e r s t h a t r e g i s t e r a w e b h o o k w i l l g e t a P O S T p a y l o a d t o t h a t U R L
w i t h t h e f o l l o w i n g f i e l d s o n d e p o s i t s .
T h e J S O N O b j e c t p o s t e d t o t h e w e b h o o k U R L l o o k s l i k e t h i s
{
"event" : "funding" ,
"payload" :
{
"fid" : "p4u8d7f0768ee91d3b33bee6483132i8" ,
"status" : "complete" ,
"created_at" : "2016-04-08T17:52:31+00:00" ,
"currency" : "mxn" ,
"method" : "sp" ,
"method_name" : "Transferencia SPEI" ,
"amount" : "300.15" ,
"details" : {
"sender_name" : "HUGO HERNANDEZ MANZANO" ,
"sender_bank" : "BBVA Bancomer" ,
"sender_clabe" : "012610001967722183" ,
"receive_clabe" : "646180115400467548" ,
"numeric_reference" : "80416" ,
"concepto" : "Para el 🐖" ,
"clave_rastreo" : "BNET01001604080002076841" ,
"beneficiary_name" : "HUGO HERNANDEZ MANZANO"
}
}
}
J S O N P a y l o a d
R e t u r n s a J S O N o b j e c t w i t h t h e f o l l o w i n g f i e l d s :
Field Name
Type
Description
Units
fid
String
The unique funding ID
-
currency
String
Currency funded
-
method
String
Method for this funding (mxn, btc, eth).
-
method_name
String
Long name for the method
-
amount
String
The funding amount
currency
status
String
The status for this funding (pending, complete, cancelled)
-
created_at
String
Timestamp at which the funding was received
ISO 8601 timestamp
details
JSON object
Specific funding details, may vary depending on funding method
-
W i t h d r a w a l s
U s e r s t h a t r e g i s t e r a w e b h o o k w i l l g e t a P O S T p a y l o a d t o t h a t U R L
w i t h t h e f o l l o w i n g f i e l d s o n w i t h d r a w a l s .
T h e J S O N O b j e c t p o s t e d t o t h e w e b h o o k U R L l o o k s l i k e t h i s
{
"event" : "withdrawal" ,
"payload" :
{
"wid" : "p4u8d7f0768ee91d3b33bee6483132i8" ,
"status" : "complete" ,
"created_at" : "2017-07-09T19:22:38+00:00" ,
"currency" : "xrp" ,
"method" : "rp" ,
"method_name" : "Ripple" ,
"amount" : "57" ,
"details" : {
"address" : "r9cZA1mLK5R5Am25ArfXFmqgNwjZgnfk59" ,
"destination_tag" : "64136557" ,
"ripple_transaction_hash" : "33EA42FC7A06F062A7B843AF4DC7C0AB00D6644DFDF4C5D354A87C035813D321"
}
}
}
J S O N P a y l o a d
R e t u r n s a J S O N o b j e c t w i t h t h e f o l l w i n g f i e l d s :
Field Name
Type
Description
Units
wid
String
The unique withdrawal ID
-
currency
String
Currency withdrawn
-
method
String
Method for this withdrawal (btc, eth).
-
method_name
String
Long name for the method
-
amount
String
The withdrawal amount
currency
status
String
The status for this withdrawal (pending, complete, cancelled)
-
created_at
String
Timestamp at which the withdrawal was received
ISO 8601 timestamp
details
JSON object
Specific withdrawal details, may vary depending on withdrawal method
-
S h e l l
N o d e J S
P y t h o n
R u b y
J a v a
P H P
W e u s e c o o k i e s t o e n s u r e y o u g e t t h e b e s t e x p e r i e n c e o n o u r w e b s i t e . L e a r n m o r e →
G o t i t
. . .
R e a d M o r e
H o w d o I b u y b i t c o i n s i n M e x i c o ?
B u y i n g b i t c o i n s t h r o u g h B i t s o i s v e r y s i m p l e . F i r s t l y , m a k e a n a c c o u n t w i t h u s . I t ' s f r e e , q u i c k a n d e a s y . . .
R e a d M o r e
W E A R E H I R I N G
C o m e j o i n B i t s o !
W e a r e l o o k i n g f o r t a l e n t e d p e o p l e t o j o i n o u r t e a m .
o p e n p o s i t i o n s
N o t i c e s
● L e g a l I n f o r m a t i o n
● F e e s
S u p p o r t
● H e l p C e n t e r
● A P I I n f o r m a t i o n
L a n g u a g e
● E s p a ñ ol
● E n g l i s h
● P o r t u g u ê s
2 0 2 2 © B i t s o . A l l r i g h t s r e s e r v e d .